{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Gradients and Machine Learning\n",
    "In machine learning, we identify the input and output variables\n",
    "<br>pertaining to the problem at hand and cast the problem as\n",
    "<br>generating outputs from input variables. All the inputs are\n",
    "<br>represented together by the vector $\\vec{x}$. Sometimes there\n",
    "<br>are multiple outputs, sometimes single output. Accordingly,\n",
    "<br>we have an output vector $\\vec{y}$ or output scalar $y$.\n",
    "<br>Let us denote the function that generates the output from input\n",
    "<br> vector as $f$, i.e., $y = f\\left(\\vec{x}\\right)$.\n",
    "\n",
    "In real life problems, we do not know $f$. The crux of machine\n",
    "<br>learning is to estimate $f$ from a set of observed inputs\n",
    "<br>$\\vec{x}_{i}$ and their corresponding outputs $y_{i}$.\n",
    "<br>Each observation can be depicted as a pair $\\langle\\vec{x}_{i}, y_{i}\\rangle$.\n",
    "<br>We model the unknown function $f$ with a known function $\\phi$.\n",
    "<br>$\\phi$ is a parameterized function. Alhtough the nature of $\\phi$\n",
    "<br>is known, its parameter values are unknown. These parameter values\n",
    "<br> are \"learnt\" via training. This means, we estimate the parameter\n",
    "<br>values such that the overall error on the observations is minimized.\n",
    "\n",
    "If $\\vec{w}, b$ denotes the current set of parameters (weights, bias), then the model will\n",
    "<br>output $\\phi\\left(\\vec{x}_{i}, \\vec{w}, b\\right)$ on the observed input $\\vec{x}_{i}$.\n",
    "<br>Thus the error on this $i^{th}$ observation is $e_{i}^{2}=\\left(\\phi\\left(\\vec{x}_{i}, \\vec{w}, b\\right) - y_{i}\\right)^{2}$.\n",
    "<br>We can batch up several observations and add up the error into a batch error\n",
    "<br>$L = \\sum_{i=0}^{i=N}\\left(e^{\\left(i\\right)}\\right)^{2}$.\n",
    "\n",
    "The error is a function of the parameter set $\\vec{w}$.\n",
    "<br>The question is: how do we adjust $\\vec{w}$ so that the error $e_{i}^{2}$ decreases.\n",
    "<br>We know a function's value changes most when we move along the direction of\n",
    "<br>of the gradient of the parameters. Hence, we adjust the parameters\n",
    "<br>$\\vec{w}, b$ as\n",
    "$\\begin{bmatrix}\n",
    "\\vec{w}\\\\b\n",
    "\\end{bmatrix} = \\begin{bmatrix}\n",
    "\\vec{w}\\\\b\n",
    "\\end{bmatrix} - \\mu \\nabla_{\\vec{w}, b}L\\left(\\vec{w}, b\\right)$.\n",
    "<br>Each adjustment reduces the error. Starting from a random set of parameter values\n",
    "<br>doing this \"sufficiently\" large number of times yields the desired model.\n",
    "\n",
    "A simple and popular model $\\phi$ is the linear function (predicted value is\n",
    "<br>dot product between input and parameters plus bias):\n",
    "$\\tilde{y}_{i} = \\phi\\left(\\vec{x}_{i}, \\vec{w}, b\\right) = \\vec{w}^{T}\\vec{x} + b\n",
    "= \\sum_{j}w_{j}x_{j} + b$.\n",
    "<br>In the example below, this is the model architecture used.\n",
    "\n",
    "Thus \n",
    "\\begin{align*}\n",
    "L &= \\sum_{i=0}^{i=N}\\left(e^{\\left(i\\right)}\\right)^{2}\\\\\n",
    "  &= \\sum_{i=0}^{i=N}\\left(\\vec{w}^{T}\\vec{x} + b - y_{i}\\right)^{2}\\\\\n",
    "\\nabla_{\\vec{w}, b}L &\\propto \\sum_{i=0}^{i=N}\\left(\\vec{w}^{T}\\vec{x}_{i} + b - y_{i}\\right)\\vec{x}_{i} \\\\\n",
    "                     &\\propto \\sum_{i=0}^{i=N}\\left(\\tilde{y}_{i} - y_{i}\\right)\\vec{x}_{i}\n",
    "\\end{align*}\n",
    "Our initial implementation will simply mimic this formula.\n",
    "<br>For more complicated models $\\phi$ (with millions of parameters and non-linearities)\n",
    "<br>we cannot obtain closed form gradients like this.\n",
    "<br>The next example, based on PyTorch, relies on PyTorch's\n",
    "<br>autograd (automatic gradient computation) which does not have this limitation."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import torch\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Execute common code (that has been refactored\n",
    "# out and presented above)\n",
    "%run 3.4-common.ipynb"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Gradient Descent (manually) via PyTorch"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Step 0: w = tensor([0.6108]) b = tensor([-0.2075]) \n",
      "MSE Error = 131.45993041992188\n",
      "Gradient of w: -217.66844177246094 \n",
      "Gradient of b: -7.248961925506592\n",
      "Step 400: w = tensor([1.5089]) b = tensor([1.4195]) \n",
      "MSE Error = 1.959954023361206\n",
      "Gradient of w: 0.016574401408433914 \n",
      "Gradient of b: -2.6519477367401123\n",
      "Step 800: w = tensor([1.5043]) b = tensor([2.1497]) \n",
      "MSE Error = 0.5529760122299194\n",
      "Gradient of w: 0.007455883082002401 \n",
      "Gradient of b: -1.1942121982574463\n",
      "Step 1200: w = tensor([1.5023]) b = tensor([2.4785]) \n",
      "MSE Error = 0.26766443252563477\n",
      "Gradient of w: 0.0033902835566550493 \n",
      "Gradient of b: -0.5377744436264038\n",
      "Step 1600: w = tensor([1.5013]) b = tensor([2.6265]) \n",
      "MSE Error = 0.2098071277141571\n",
      "Gradient of w: 0.0015126991784200072 \n",
      "Gradient of b: -0.24216802418231964\n",
      "Step 2000: w = tensor([1.5009]) b = tensor([2.6932]) \n",
      "MSE Error = 0.19807469844818115\n",
      "Gradient of w: 0.0006688976427540183 \n",
      "Gradient of b: -0.10905151069164276\n",
      "Step 2400: w = tensor([1.5007]) b = tensor([2.7232]) \n",
      "MSE Error = 0.19569545984268188\n",
      "Gradient of w: 0.0003035259142052382 \n",
      "Gradient of b: -0.04910852760076523\n",
      "Step 2800: w = tensor([1.5007]) b = tensor([2.7368]) \n",
      "MSE Error = 0.1952129751443863\n",
      "Gradient of w: 0.0001781845057848841 \n",
      "Gradient of b: -0.022114576771855354\n",
      "Step 3200: w = tensor([1.5006]) b = tensor([2.7428]) \n",
      "MSE Error = 0.1951151341199875\n",
      "Gradient of w: 7.165908755268902e-05 \n",
      "Gradient of b: -0.009958281181752682\n",
      "Step 3600: w = tensor([1.5006]) b = tensor([2.7456]) \n",
      "MSE Error = 0.19509539008140564\n",
      "Gradient of w: 6.211280560819432e-05 \n",
      "Gradient of b: -0.004484801087528467\n",
      "True function: y = 1.5*x + 2.73\n",
      "Learnt function: y_pred = 1.5005970001220703*x + 2.746823787689209\n"
     ]
    }
   ],
   "source": [
    "# Here the input data is generated from a known function\n",
    "# y_obs = 1.5*x + 2.73.\n",
    "# Thus our observations (training data) comprise various\n",
    "# values of x and corresponding values of y computed from\n",
    "# this function. We will add some noise to the computed\n",
    "# values to generate the observed value.\n",
    "#\n",
    "# We will train a linear model: y_pred = w*x + b \n",
    "# and see if the learnt parameters w, b come out close\n",
    "# to the expected values weight w = 1.5 and bias = 2.73.\n",
    "\n",
    "np.random.seed(0)\n",
    "torch.manual_seed(42)\n",
    "N = 100\n",
    "# Generate random x values\n",
    "x = 10 * torch.randn(N) \n",
    "# Compute function outputs\n",
    "y = 1.5 * x + 2.73\n",
    "\n",
    "# Add random noise to get the observed value of y\n",
    "y_obs = y + (0.5 * torch.randn(N))\n",
    "\n",
    "\n",
    "# Random initialization of model parameters\n",
    "w = torch.randn(1)\n",
    "b = torch.randn(1)\n",
    "\n",
    "# Training: repeatative adjustment of parameters via gradient.\n",
    "num_steps = 4000\n",
    "learning_rate = 1e-3\n",
    "for step in range(num_steps):\n",
    "    y_pred = w*x + b\n",
    "    mean_squared_error = torch.mean((y_pred - y_obs) ** 2)\n",
    "    \n",
    "    # Gradient of error computation using calculus formulas.\n",
    "    w_grad = torch.mean(2 * ((y_pred - y_obs)* x))\n",
    "    b_grad = torch.mean(2 * (y_pred - y_obs))\n",
    "    w = w - learning_rate * w_grad\n",
    "    b = b - learning_rate * b_grad\n",
    "    \n",
    "    # periodically print diagnostic messages\n",
    "    if step % 400 == 0:\n",
    "        print(\"Step {}: w = {} b = {} \\nMSE Error = {}\"\\\n",
    "              .format(step, w,  b, mean_squared_error))\n",
    "        print(\"Gradient of w: {} \\nGradient of b: {}\"\\\n",
    "              .format(w_grad, b_grad))\n",
    "\n",
    "print(\"True function: y = 1.5*x + 2.73\")\n",
    "print(\"Learnt function: y_pred = {}*x + {}\".format(w[0], b[0]))\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Automatic Gradient Computation in PyTorch\n",
    "In the numpy code above, we computed the gradient using calculus for this\n",
    "<br>specific model architecture. This approach does not scale to more complex\n",
    "<br>models with millions of weights and perhaps non-linear complex functions.\n",
    "<br>\n",
    "<br>For scalability, we can use PyTorch, where gradients are computed via\n",
    "<br>automatic differentiation. The user of the libraries need not worry\n",
    "<br>about how to compute the gradients - they just construct the model function.\n",
    "<br>Once the function is specified, PyTorch figures out how to compute its gradient\n",
    "<br> through a technology called _autograd_.\n",
    "### Autograd\n",
    "Autograd is the technology in pytorch for automatic gradient computation.\n",
    "<br>Here is how it is used.\n",
    "<br>One explicitly tells pytorch to track gradients with respect to a variable\n",
    "<br>by setting **requires\\_grad = True** when creating the variable. Pytorch\n",
    "<br>remembers a computation graph which gets updated everytime we create an\n",
    "<br>expression using tracked variables. Below is an example of computation graph."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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PhyHiMxWdQ+qSElJgaenJ9LS0uDg4ICcnBz4+/vj0UcfxWeffVZjmTk5OXB0dISVlRXy8vKU+9ACwJUrV9CkSRM0bdoUOTk50Gq11Y44AUB2djacnJyqvZK/pKQEubm50Ol0tXzHf7ly5QoKCgqUr4VrW2Z4eDgSEhKUOxAAwOnTpzFu3Djs27cPjz/+OD7++GOkpKRg3759WLlyJQBg0qRJ6NSpE15//XVcvnwZVlZW6NSpE65evYqZM2ciOzsbn3zyyT3xpDxzeAAKmaea6saLL76IzMxMrFy5Evfffz/WrFmDr776CrGxsRW+rSKqjA/HISKLlp+fj3379sHHxweFhYXIz8+v1ePQb3zE+o0JN4AKXw1XfhR7Ve6///4al9va2t5Wwl0eS+Wvqmsqc+TIkTAajSgpKblpzuf+/fthZ2eHGTNmYPTo0ejTpw9WrVqF5557Tlln+PDhGDlyJJKSkjBy5Eg89dRTsLe3x8iRI9GoUSPk5eWhpKTknki6iW7HZ599hnXr1mHu3LmwsbFBt27d8PPPPzPhplrjSDcRma2aRp0OHz6MqKgoXLhwAc2bN8eIESPwt7/97S5HaD6++eYbXLx4EVOmTEHjxo0rLHv++ecxatQoDBw4EHZ2dtWWUVBQAHt7e1hbWwMom9/ZqFEjiAisrKyU1y0dR7qpOqwbpAaOdBORRXvsscfw2GOPmToMszFmzJgqXz969CiOHz+OvLy8GhNuAMoFWOXs7e3rLT4iooaOI91EZLY46kRqYL2i6rBukBrK6xVvGUhEREREpDIm3UREREREKmPSTURERESkMibdREREREQqY9JNRERERKQyJt1ERERERCpj0k1EREREpDIm3UREREREKmPSTURERESkMibdREREREQqY9JNRERERKQyJt1ERERERCpj0k1EREREpDIm3UREREREKmPSTURERESkMibdREREREQqY9JNRERERKQyJt1ERERERCpj0k1EREREpDIm3UREREREKmPSTURERESkMibdREREREQqY9JNRERERKQyJt1E1GCFh4djyJAhWLZsmalDsTiffPIJnnnmGfzwww+mDoWIyCIw6SaiBmvYsGHYsmULHnzwQVOHYhb0ej2ysrJqta6Pjw927NiBTp06qRwVEdG9gUk3ETVYcXFxAIA+ffqYOBLzsG3bNgQEBNRq3QMHDkCr1aJ79+4qR0VEdG9g0k1EFm3fvn2YOXMmFi5cCAD47rvv8OKLL1ZYJyUlBZ9++inCw8Oxfv16XL16FQCwd+9eeHp64r777kNaWho2bdqEzz//XNkuKioKSUlJyu/FxcX4/vvvMXfuXBw4cKDKeE6cOIH+/fvj7NmzVS7Pzc3FypUrMWzYMKSnpwMA/vjjD4wcORKpqanIycnBwIEDcfLkySq3Ly0tRatWrXDu3Llqj8nFixcRHh6O8PBwAEBJSQm++uorbN26tdptAEBEalx+o127dsHHxwfr1q3D6tWrodfra70tEVFDxKSbiCyaRqPB/Pnz0aZNGwBAu3btsGrVKpSWlgIA1q5di9GjR8PPzw+bN2/G6NGjYWdnBwCIjo7GgAEDAAB2dnb46KOP8PPPPwMACgsL4efnh5SUFABAWloa+vTpg+LiYrRo0QKDBg2C0Wi8KZ6ioiKcPXsWBQUFVcbbqFEj7Ny5E0eOHEGrVq0AAD/88AO+//57PPDAA9Bqtbh+/ToOHjxYYbvU1FTMnDkTer0etra2cHR0RFhYGBISEm7ax5UrV3DmzBmMGTMGMTExmDFjBvbv34/MzMw6H9+qGAwGREVFIS4uDufOncPkyZMREhJSL2UTEd2rbEwdABHRnSgsLAQAeHt7AyibKjJ27FjY2NjgwIEDCAoKwokTJ9C1a1e0a9cOgwcPhp2dHa5du4b9+/dj1qxZAIDmzZvj4sWLGDVqFADgxx9/BAA88cQTEBGMHDkS3t7eCAoKQnBwMHr37g0rq5vHLTw9PZGamlptvE2bNsWlS5fg7+8PoGx0ec2aNRg8eDAaN24MAHjllVfQsmXLCttZWVkhISEBvr6+cHZ2xsSJE5GRkYHBgwfftA8PDw94eHjgf//7H/71r39hypQpmDp16k3rXb9+Hb/88ovy++HDh5GVlYVt27Ypr7m4uKBbt24Vtjt+/Djy8/MREREBHx8fpKWlITo6Gu+9916175uIqKFj0k1EFi0mJgaenp7KqPG1a9eg1WoBANOmTcOECRPQrVs3iAj27t2LF154AUBZggkAvXv3BgCcPXsWFy9eRN++fWE0GvHJJ5/A3d0dLVu2xN69e7F//3488cQTGDJkCJycnLB+/frbijc/Px+xsbF4/fXXAQCRkZE4duwYxo8fr6yTlJSEKVOmVNiuY8eOWLx4MT755BMsX74cXbp0wcKFC9GjR49q9zVmzBhs2bIFY8aMqXL5tWvXEBoaqvyelZWFM2fOVHht7NixNyXde/fuhbOzM/r37w8AOHXqFFq3bl3LI0BE1DAx6SYii7ZlyxYEBgYqv3/66acIDg7GlStXcOjQIbzxxhsAgK1btyI+Ph6rV68GUHE+N1A2N1yr1cLd3R1ff/014uLiMH36dABAfHw8AOD5559H9+7dqxzhrq3yZL9v374oKipS5qI//fTTAMqmhuTn59800v3rr7/isccewxdffIEBAwZgxIgR8PLywn//+98K7/9G27dvB1B2gWRwcPBNy1u2bIlff/1V+f2HH37Ap59+ir1799b4Hnbu3Ak/Pz9oNBoUFBRg165dynElIqKqcU43EVksg8GAEydOoEuXLgDKEtP09HQ8+uijuHTpEoCyOdTJycnKxZVJSUm4du0aYmJi8Le//Q1r164FUJZYd+7cGVFRUco8aScnJ+zatQsuLi4AgN9++w0ajQb79u1DTExMlTGlp6dj1qxZyM3NrXL50aNHodPp0Lx5c0yZMgVDhw4FUDaNw2Aw4KOPPlKS/Rt5enri/PnzCA4ORnR0NLp06YIzZ87gH//4R4X1ioqKkJKSgqVLl+Kpp57ChAkTsHjxYhw5cgT79u2r0/GtSmlpKX788Uf069cPQNkfOb169ap2NJ2IiMow6SYii2VtbY3Bgwdj5syZeOGFF7B9+3Z8+umnAIBu3brBzc0NQ4cOxfTp0/Hvf/8bWq0WdnZ2yrzqY8eOpTSSQwAAIABJREFUwcfHBwDQunVrxMfHIyoqCjNmzAAAJCYmom/fvujfvz8CAgLw3HPPoXXr1jh69KiyXWVJSUkICwvD8ePHq1zetWtXZGRkIDAwEM8++yyCgoKg0+kwbNgwTJ48Gc8//3yV9w23sbFBu3btYGNjg9WrV8PZ2RktWrSAra1thfX27duHzp074/jx4wgODsbEiRMRHx+P0NBQPP7447d9rMvl5+djxIgROHz4MF544QWcOHECMTExsLHhF6dk2YxGI9zc3EwdBt2D3NzcYDQaoZG63COKiOguMRqN6NGjB3777bca1xMRXLlyBc2bN4e1tXWFZQaDAfn5+XBycoLBYEBRURGaNm0KALh69SqaNWtWYf38/HxlPnhubi6cnJwqLL9w4QLatm17034qy8zMRIsWLapdnpeXh2bNmkGj0QAoeyhNQUGBMtXlTuXk5FQoq6CgAA4ODrfc7tixY9i7dy9effXVW6579epV2NjYoEmTJncUqyl0794dSUlJdzRNiO5Nbdu2xZEjR5S7IRHdqUuXLuHRRx9FWloa53QTkXmysrJCTk4OLl26VGMHqNFooNPpqlxmbW2tJM7W1tZKwg3gpoQbgJJwA7gp4QbKbkdYGzUl3ADg6OhY4fdGjRrVW8IN4KayapNwA4C7uzvc3d1rtW5Vx88SXLp0CTk5OUy4qUqdOnVCSkoKk26qN8nJyejcuTMATi8hIjNW3gES1ZcbO0CiynjOofrGpJuILAI7QKpvTLqpJjznUH1j0k1EFoEdINU3Jt1Uk06dOil3PiKqD5cvX0anTp0AMOkmIjPGDpDq240dIFFlI0eORGRkJLKyskwdCt0D0tPTERUVhWeffRYAePcSIjJvLVq0wOnTp9G8eXNTh0IWLj09HY888gguX75s6lDIjEVERGDt2rXYtGmTqUMhCzd06FCMGzcOQ4YMAcCRbiIycytXrqzwiHSi2zV+/HisXLnS1GGQmQsMDMT169cRFRVl6lDIgm3duhVGo1FJuAEm3URk5tgBUn2oqgMkqs769evx/vvvY8eOHaYOhSzQ1q1bsWDBAuWJx+U4vYSIzF5ubi6GDh2KN998E35+fqYOhyxMeQe4ZcsWi72/ON19ubm5GD16NOzs7LBy5Uq0bNnS1CGRmUtPT8f48eNhNBqxdu3am843TLqJyCKwA6yaXq/H2LFjsWbNGjRq1MjU4ZiVW3WARLWxefNmjB8/Hn5+fmjbti06d+6MTp06oXPnznyITgN26dIlJCcnKz+XLl3CTz/9hJUrV1b7jRqTbiKyKOwAKwoLC0NoaCjmzJmDWbNmmTock7mdDpCoLjZt2qTUr5SUFCQnJ8PR0RGnTp0ydWh0l7m5uSEnJwedO3dWfjp16qTcpaQ6TLqJyCKxA6Ryt9sBEt0po9EIKyteHtfQ3O7nzqSbiO4ZDa0DDAsLw7x581BcXAw7Ozu8/fbbDXK0u6F97kRkmZh0ExFZqMaNG6O4uFj53dbWtsLvRERkPjg0QERkgcLCwm56TaPR4L333jNBNEREdCsc6SYiskB2dnawsbGBg4MDMjIyoNPpUFBQAL1ej5KSElOHR0RElXCkm4jIwsTExMDe3h4rVqxAeno6gLLb461YsQJNmzZFdHS0iSMkIqLKONJNRGThNBoNeConIjJvHOkmIiIiIlIZk24iIiIiIpUx6SYiIiIiUhmTbiIiIiIilTHpJiIiIiJSGZNuIiIiIiKVMekmIiIiIlIZk24iIiIiIpUx6SYiIiIiUhmTbiIiIiIildmYOgAiIqqb/Px8JCYmIiEhAYmJiWjdujWefvpp5ObmwsPDAx4eHujZsyc8PDzg4OBg6nCJiAiARkTE1EEQEdGt5ebmYuLEidi2bZuSVN/4b3kiXp6MJyQkYMiQIVi2bBmaNWtm6vCJiBo0Jt1ERBZg9erVmDZtGqKiovDYY4/VersDBw7Az88PixYtwtixY1WMkIiIasKkm4jIjJWUlCAwMBCtWrXCqlWrbruc4OBg5OTkICIiAtbW1vUYIRER1QaTbiIiM5WdnY02bdogIiICgwcPvuPyIiMjERAQgKysLDg5OdVDhEREVFtMuomIVLZnzx489dRTddqmpKQEDg4OKCkpqfd4rK2todfrYWXFG1gREd0tPOMSEanM398f999/P7788stabxMYGIgffvhBlXgiIiIQGBhY6/VjYmJUiYOIqCFh0k1EpLL3338fJSUlmDJlCu677z4sX768xvVXr16NVq1a1cuUkqoMHToUjo6O+Prrr2tcLywsDHZ2dhgxYoQqcRARNSScXkJEdBc4Ojri6tWrAACtVgugLKkdP348bG1tlfVyc3PRsWNH5OTkqB6TVqvFpUuXbrqXd1hYGObNmwegbCrKihUrEBQUpHo8RET3MibdZPFEBCICo9FY5b+3u+xe395gMNzxPris9stKSkpQWlpaoe42btwY//73v7FkyRLltdGjR+P111+v020Bb9eBAwewdOlShIeHQ6/XY8GCBUqyXVxcDADQ6XRIT09XPRYionsdk26yaKGhoQgNDYVGo4GVlVWV/97usnt9e2tr6zveB5fVfln79u2RmZkJALC1tYVGo0FISAimTp2qjHTn5+fjgQceUEbE74YmTZogKysL48aNw8aNG6HX6+/avu9lISEhmDt3rqnDICIzwsfAk8X64osv0LZtWxiNRlOHQlSj8PBwXL9+HXZ2djAajXj77bcxe/bsm9ZLTExEz54972psHh4eSEhIwJo1a9C9e3dlpLv8rikc6a47vV6PsWPHQq/Xo1GjRqYOh4jM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Kbl2dHREXl7eTck4H3xjPthmqCFivSeiyph01xFPpER1wzZDDRHrPRFVxjndREREREQqY9JNRERERKQyJt1ERERERCpj0k1EREREpDIm3UREREREKmPSTURERESkMibdREREREQqY9JNRERERKQyJt1ERERERCpj0k1EREREpDIm3UREREREKmPSTURERESkMibdREREREQqY9JNRERERKQyJt1ERERERCpj0k1EREREpDIm3UREREREKmPSTURERESkMibdREREREQqY9JNRERERKQyJt1ERERERCpj0k1EREREpLLbSrqNRmN9x0EWgJ977fA4NUwN/XNv6O+/oeLnTlR7GhGRmlb47rvv8PvvvyM5ORkpKSk4c+YMmjVrhuTk5LsVI5mJLl26IC8vDw899BAeeughuLq6onPnzhg5cqSpQzOZ7777DsnJyfj999+RmpqK1NRUto8GqiG1D9Z7KteQ6j3Rnao26f7+++/x0ksvYeDAgWjZsiU6dOiA9u3bo0OHDmjZsuXdjpPMREZGBs6ePYtz587h7NmzyMrKws8//4yVK1fi2WefNXV4d83333+P8ePHw9fXl+2DFPd6+2C9p6rc6/WeqL7clHRnZ2djxIgRsLe3R1hYGBwdHU0VG1mInJwcvPXWWygtLcWGDRvg5ORk6pBUw/ZBdXUvtA/We6qre6HeE9W3Ckl3dnY2hgwZggkTJuDJJ580ZVxkgfbs2YPly5dj+/bt9+QJlu2D7oSltg/We7oTllrvidRQIenu168f/v3vf/PESrdt9+7dWLt2LX7++WdTh1Lv2D7oTlli+2C9pztlifWeSA3K3Uu+++472Nvb88RKd8Tb2xsajQYRERGmDqVebdiwge2D7piltQ/We6oPllbvidSijHTfd9992LNnD+fq0R3LysqCr68vrly5YupQ6g3bB9UXS2ofrPdUXyyp3hOpxTokJCTku+++g16vxz/+8Q9Tx0P3gCZNmuDUqVOwsbGBm5ubqcO5Y2wfVJ8spX2w3lN9spR6T6QmKwD4/fffebsnqletWrXC6dOnTR1GvWD7oPpmCe2D9Z7qmyXUeyI1WQFAcnIyOnToYOpY6B7SsWNH/P7776YOo16wfVB9s4T2wXpfO3q9Xrk3NdXMEuo9kZqsACA1NRXt27c3dSx0D2nfvj1SU1NNHUa9YPug+mYJ7YP1/tauX7+O2bNnw9vbm0/jrAVLqPdEalKSbo5oUH3q2LEjUlJSTB1GvWD7oPpmCe2D9f7WmjRpAk9PTwBAz549TRyN+bOEek+kJiuj0YhmzZpx7l4NSktLUVRUVOUyvV4PvV5/lyMyfzqdDlqtFkaj0dSh3BG2D1KDubcP1vvaO3DgAPr06YPGjRubOhSzZ+71nkhtVlZWVvxarBrZ2dmYOnUqevbsqcxDKy4uxsMPP4wlS5YAAF599VW89NJLpgzTbCUnJ8PKyurWK5oxto9bO3v2LD744AOMGjUKJ0+eBABs3LgRw4cPx9mzZ00cnfky5/bBel87IoKdO3eiZcuWmDRpEqZMmYI///zT1GGZNXOu90RqY82vwf33348HH3wQAJRbHB0+fBgFBQXo3bs3AGD8+PFMLKhBa9OmDUaNGoXi4mJMnz4dO3fuREJCAv75z39ypJTuacnJySgoKEB+fj5GjRqFQ4cOKQMyRESV2Zg6AHN35MgRPPXUU7CxKTtU33//PQDA3d0dAODp6YkePXqYLD4iU7Ozs0P79u0xc+ZMjBw5EitWrMC6deuUNkN0r4qLiwMAfPDBB2jZsiUGDhyIAwcOmDgqIjJXHOmuQWFhIWJjY9GnTx8AwKlTp7BlyxYMHjwYjRo1AgAcP34cjz76qCnDJDIL5e3A09OTCTc1CAcOHMDAgQOVb3QuX76Mjh07mjgqIjJXTLprkJSUBADo3bs3jEYjvvrqKwCAl5eXss6XX36JYcOGmSQ+InOyefNmuLi4YOPGjTAYDKYOh0hVBoMBe/bswRNPPAEAyMvLw08//YShQ4eaODIiMldMumtw6tQpAGW3OVq4cKEyj9vZ2RkAsG3bNjz99NNo1qyZyWIkMrXExEQkJCRg165dWLZsGTIzM/HDDz9g6dKlpg6NSDWnTp1CQUEBevXqBQAICwvDk08+iWeeecbEkRGRueJ3wDXo0qULAOBf//oXhg0bhoCAAERERGD27Nno3bs3/v73v2P48OEmjpLIdAoKCjBs2DB07twZ69atU+a1vvHGG/j2229NHR6Rqtq0aYOtW7diwYIFaN26Nb744gtoNBpTh0VEZkojIqLRaHgHjmrk5+ejSZMmsLa2Vl7LyMiATqczYVSWoUOHDhARU4dxx9g+apaXl4dmzZopyYbRaERhYSGaNm1q4sjMm7m3D9b7WxMRpKen4/7774etra2pw7EI5l7vidTEke5b0Gq1N73GhJvoL46OjhV+t7KyYsJNDYJGo0Hr1q1NHQYRWQjO6SYiIiIiUhmTbiIiIiIilTHpJiIiIiJSGZNuIiIiIiKV2QBlt8br0KGDqWOhe0z5LRctHdsHqcHc2wfrPanB3Os9kZqUWwbyFj5U3+6VenWvvA8yL+Zer8w9PrJMrFfUkHF6CRERERGRyph0ExERERGpjEk3EREREZHKmHQTEREREamMSTcRERERkcqYdBMRERERqYxJNxERERGRyph0ExERERGpjEk3EREREZHKmHQTEREREamMSTcRERERkcqYdBMRERERqYxJNxERERGRyph0ExERERGpjEk3EREREZHKmHQTEREREamMSTcRERERkcqYdBMRERERqczsku7S0lKUlJSYOox6t2LFCjzzzDOIjIw0dShkwdg+auf06dMYN24cnn76aSQkJNxy/UOHDuG5557Diy++WC/7p/rFek9E9wKzS7pfeukljB492tRh1LuBAwdix44d6NSp022XkZqaiuLi4nqMiiwN28et5efno2/fvnjuuecwcOBA5Obm3nKb3r174+zZs2jRosUd75/qH+t99dgvEFkOG1MHUNnrr7+OwsJCU4dR7/bv3w+tVouuXbve1vZ5eXl47rnncOjQoXqOjCwJ28et/fe//4WLiwt8fHzg4+NTq22uXbuGQ4cOYc6cOXe8f6p/rPdVY79AZFlumXQXFRUhOjoaycnJGD58OJKSkuDg4ICnnnoKAFBcXIzIyEgcP34cvr6+6NOnj7Jteno6Nm7cCJ1Oh9LSUnTt2hVnzpzBpUuX8OqrrwIAoqKi8MADD6Bbt27YsWMHzpw5A19fXwDAiRMn8Ouvv6JRo0bw8fHB+vXr8corr6BRo0bK8u3bt8Pa2hoTJkyAvb09AODkyZOIiIhAmzZt0KxZMwwfPvyWB8JoNGLz5s1ITEyEu7s7HnnkEWi1WgBAbGwszpw5g9deew3h4eEYNGgQ2rVrBwDIysrCli1bcO3aNeh0Onh4eCijFjk5OdiyZQsuX76MI0eOwM/PD1ZWN3+5cOLECUyaNAmrVq1Chw4dblr++eef45133gEAbNu2Df7+/tizZw9OnjyJhx9+GI6OjkhISICPjw8OHjxY5fHt0aPHLT8vqrs7aR8nTpzAjz/+iB49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",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 400,
       "width": 600
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from IPython.display import Image, display; \n",
    "img = Image(filename='../../resources/images/auto_grad.png')\n",
    "img.width = 600\n",
    "img.height = 400\n",
    "display(img)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<br>One calls the **backward()** function on a variable to trigger gradient computation.\n",
    "<br>It is often called upon the overall error variable $L$.\n",
    "<br>Then, for every variable, say $w$ on which $L$ depends, pytorch\n",
    "<br>goes and computes $\\frac{\\partial L}{\\partial w}$ and stores it in the field **w.grad**.\n",
    "<br>Thus, $\\vec{w} = \\vec{w} - \\nabla_{\\vec{w}} L$ happens when one does\n",
    "<br>for all w: w = w - w.grad\n",
    "\n",
    "Below, we solve the same problem using PyTorch. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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8AEAALZB8AEAALbBys3n8T/Bw+v1WlwJAAC4VP7z9r89iYvgc5729nZJUlZWlsWVAACA3mpvb1dycnKPx3lI6Xl8Pp+am5s1aNAgORwOq8u5KK/Xq6ysLDU2Nobsgaq4cvRLeKJfwhP9Ep4isV+MMWpvb9fQoUMVE9PzTB5GfM4TExOjzMxMq8volaSkpIj5h2kn9Et4ol/CE/0SniKtXy420uPH5GYAAGAbBB8AAGAbsYsXL15sdRG4fLGxsSooKNBVV3HVMpzQL+GJfglP9Et4itZ+YXIzAACwDS51AQAA2yD4AAAA2yD4AAAA2yD4AAAA2yD4RKAjR45oxowZys3N1YABAzRixAgtWrRIHR0dQe327Nmj/Px8JSQkKCsrS0uXLrWoYvt45ZVXNG7cOCUmJmrw4MHdtmloaNA999yjxMREpaena86cOTp79mw/V2ovq1evVk5OjhISEjR27Fh98803VpdkO19//bXuvfdeDR06VA6HQx9++GHQcWOMFi5cqIyMDA0YMEATJ07Uzz//bFG19rBkyRLdfvvtGjRokNLT0zV58mTV19cHtTl9+rRKS0t17bXXauDAgXrggQfU2tpqUcWhQfCJQAcPHpTP59Pbb7+t/fv3a8WKFXrrrbf04osvBtp4vV4VFRVp2LBhqq2t1bJly7R48WKtXbvWwsqjX0dHh6ZNm6Znnnmm2+NdXV2655571NHRoR07dmj9+vVat26dFi5c2M+V2sfGjRv1wgsvaNGiRfr+++916623qri4WCdOnLC6NFv5888/deutt2r16tXdHl+6dKneeOMNvfXWW9q9e7euvvpqFRcX6/Tp0/1cqX1s375dpaWl2rVrl7Zt26bOzk4VFRXpzz//DLR5/vnn9cknn2jz5s3avn27mpubNWXKFAurDgGDqLB06VKTm5sb2H7zzTdNSkqKOXPmTGDf3LlzjdvttqI826moqDDJyckX7P/ss89MTEyMaWlpCexbs2aNSUpKCuorhM6YMWNMaWlpYLurq8sMHTrULFmyxMKq7E2S+eCDDwLbPp/PuFwus2zZssC+kydPGqfTad577z0rSrSlEydOGElm+/btxphzfRAXF2c2b94caHPgwAEjyezcudOqMq8YIz5Roq2tTddcc01ge+fOnRo/frzi4+MD+4qLi1VfX68//vjDihKhc/0yatQoDRkyJLCvuLhYXq9X+/fvt7Cy6NTR0aHa2lpNnDgxsC8mJkYTJ07Uzp07LawM/3T48GG1tLQE9VNycrLGjh1LP/WjtrY2SQqcS2pra9XZ2RnULzfeeKOys7Mjul8IPlHgl19+0apVq/TUU08F9rW0tASdXCUFtltaWvq1PvyNfulfv/32m7q6urr9m/P3Dh/+vqCfrOPz+TR79mzdcccdGjlypKRz/RIfH3/BfMVI7xeCTxiZN2+eHA7HRV8HDx4M+p6mpiaVlJRo2rRpeuKJJyyqPLpdTr8AQCQpLS3Vvn37tGHDBqtL6XPR9QCOCFdWVqbp06dftM3w4cMDXzc3N6uwsFDjxo27YNKyy+W6YOa9f9vlcoWmYJvobb9cjMvluuCOIvql76Smpio2NrbbzwJ/7/Dh74vW1lZlZGQE9re2tmr06NFWlWUbzz33nD799FN9/fXXyszMDOx3uVzq6OjQyZMng0Z9Iv3zQ/AJI2lpaUpLS7uktk1NTSosLFReXp4qKioUExM8eOfxeLRgwQJ1dnYqLi5OkrRt2za53W6lpKSEvPZo1pt++Tcej0evvPKKTpw4ofT0dEnn+iUpKUk333xzSH4G/hYfH6+8vDxVVVVp8uTJks4N6VdVVem5556zuDr45ebmyuVyqaqqKhB0vF6vdu/e3eMdkrhyxhjNnDlTH3zwgaqrq5Wbmxt0PC8vT3FxcaqqqtIDDzwgSaqvr1dDQ4M8Ho8VJYeG1bOr0XvHjh0z119/vZkwYYI5duyYOX78eODld/LkSTNkyBDz8MMPm3379pkNGzaYxMRE8/bbb1tYefQ7evSoqaurMy+//LIZOHCgqaurM3V1daa9vd0YY8zZs2fNyJEjTVFRkfnhhx/M1q1bTVpampk/f77FlUevDRs2GKfTadatW2d++ukn8+STT5rBgwcH3VmHvtfe3h74PEgyy5cvN3V1debo0aPGGGNee+01M3jwYPPRRx+ZPXv2mEmTJpnc3Fxz6tQpiyuPXs8884xJTk421dXVQeeRv/76K9Dm6aefNtnZ2ebLL7803333nfF4PMbj8VhY9ZUj+ESgiooKI6nb1z/9+OOP5s477zROp9Ncd9115rXXXrOoYvt49NFHu+2Xr776KtDmyJEj5u677zYDBgwwqamppqyszHR2dlpXtA2sWrXKZGdnm/j4eDNmzBiza9cuq0uyna+++qrbz8ajjz5qjDl3S/tLL71khgwZYpxOp5kwYYKpr6+3tugo19N5pKKiItDm1KlT5tlnnzUpKSkmMTHR3H///UH/yY5EDmOM6ccBJgAAAMtwVxcAALANgg8AALANgg8AALANgg8AALANgg8AALANgg8AALANgg8AALANgg8AALANgg8AALANgg8AALANgg+AqPbrr7/K5XLp1VdfDezbsWOH4uPjVVVVZWFlAKzAs7oARL3PPvtMkydP1o4dO+R2uzV69GhNmjRJy5cvt7o0AP2M4APAFkpLS/XFF1/otttu0969e/Xtt9/K6XRaXRaAfkbwAWALp06d0siRI9XY2Kja2lqNGjXK6pIAWIA5PgBs4dChQ2pubpbP59ORI0esLgeARRjxARD1Ojo6NGbMGI0ePVput1srV67U3r17lZ6ebnVpAPoZwQdA1JszZ462bNmiH3/8UQMHDtRdd92l5ORkffrpp1aXBqCfcakLQFSrrq7WypUr9c477ygpKUkxMTF65513VFNTozVr1lhdHoB+xogPAACwDUZ8AACAbRB8AACAbRB8AACAbRB8AACAbRB8AACAbRB8AACAbRB8AACAbRB8AACAbRB8AACAbRB8AACAbRB8AACAbRB8AACAbfwfuOFFY4uSs2IAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Step 0: w = tensor([0.3932]) b = tensor([-0.2148]) \n",
      "MSE Error = 131.45993041992188\n",
      "Gradient of w: tensor([-217.6684]) \n",
      "Gradient of b: tensor([-7.2490])\n",
      "Step 100: w = tensor([1.5019]) b = tensor([2.3529]) \n",
      "MSE Error = 0.35064461827278137\n",
      "Gradient of w: tensor([-0.2214]) \n",
      "Gradient of b: tensor([-0.7884])\n",
      "Step 200: w = tensor([1.5009]) b = tensor([2.6951]) \n",
      "MSE Error = 0.197865828871727\n",
      "Gradient of w: tensor([0.0004]) \n",
      "Gradient of b: tensor([-0.1052])\n",
      "Step 300: w = tensor([1.5006]) b = tensor([2.7408]) \n",
      "MSE Error = 0.1951398253440857\n",
      "Gradient of w: tensor([0.0001]) \n",
      "Gradient of b: tensor([-0.0141])\n",
      "Step 400: w = tensor([1.5006]) b = tensor([2.7469]) \n",
      "MSE Error = 0.1950911283493042\n",
      "Gradient of w: tensor([-1.4678e-05]) \n",
      "Gradient of b: tensor([-0.0019])\n",
      "Step 500: w = tensor([1.5006]) b = tensor([2.7477]) \n",
      "MSE Error = 0.19509029388427734\n",
      "Gradient of w: tensor([-5.6475e-06]) \n",
      "Gradient of b: tensor([-0.0003])\n",
      "Step 600: w = tensor([1.5006]) b = tensor([2.7478]) \n",
      "MSE Error = 0.19509030878543854\n",
      "Gradient of w: tensor([-1.0774e-05]) \n",
      "Gradient of b: tensor([-3.3427e-05])\n",
      "Step 700: w = tensor([1.5006]) b = tensor([2.7478]) \n",
      "MSE Error = 0.19509027898311615\n",
      "Gradient of w: tensor([3.0398e-06]) \n",
      "Gradient of b: tensor([-1.1820e-05])\n",
      "Step 800: w = tensor([1.5006]) b = tensor([2.7478]) \n",
      "MSE Error = 0.19509027898311615\n",
      "Gradient of w: tensor([3.0398e-06]) \n",
      "Gradient of b: tensor([-1.1820e-05])\n",
      "Step 900: w = tensor([1.5006]) b = tensor([2.7478]) \n",
      "MSE Error = 0.19509027898311615\n",
      "Gradient of w: tensor([3.0398e-06]) \n",
      "Gradient of b: tensor([-1.1820e-05])\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnUAAAHVCAYAAACXAw0nAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8GearUAAAgAElEQVR4nOzdeVyU5fr48c+wIyKIgoiiuadWalYmx1LTROuUtuhXLTU17XRaTm6Fpbnkmmu2nOxXoZ062nLU4/dramaQnVwyRVPJjpgr4i4gyD7X7497GCVRZxQYBq736zWvfO555p57iLm4nufeLCIiKKWUUkopt+bh6gYopZRSSqkbp0mdUkoppVQFoEmdUkoppVQFoEmdUkoppVQFoEmdUkoppVQFoEmdUkoppVQFoEmdUkoppVQFoEmdUkoppVQFoEmdUkoppVQFoEmdUkoppVQFoEmdKjO7du3i8ccfp379+vj5+VGnTh3uv/9+3n777SLnTZs2jRUrVriolUZOTg6vvPIKERER+Pv7065dO9atW+fSNimlygd3iWXx8fFYLJZiH5s3b77s/I0bN9KhQweqVKlCeHg4L774IhkZGS5oubpeFt37VZWFjRs30rlzZ+rVq8egQYMIDw/nyJEjbN68mf3795OUlGQ/t2rVqjz++OMsWrTIZe3t168fX331FS+99BJNmjRh0aJFbN26lbi4ODp06OCydimlXMudYll8fDydO3fmxRdf5M477yzyXPfu3alZs6b9eMeOHbRv357mzZszfPhwjh49yuzZs+ncuTOrV68u66ar6+Tl6gaoymHq1KkEBQWxdetWgoODizx38uRJF7WqeD/99BNLly5l1qxZjB49GoCBAwdyyy238PLLL7Nx40YXt1Ap5SruFMsK3XPPPTz++ONXPefVV1+levXqxMfHU61aNQBuuukmhg0bxjfffEO3bt3KoqnqBmn3qyoT+/fvp2XLlpcFQYCwsDD7vy0WC5mZmSxevNjeTfDUU0/Zn09OTmbIkCHUqlULX19fWrZsyccff1ykvsIuh88//5xXX32V8PBwAgICePjhhzly5Mg12/rVV1/h6enJ8OHD7WV+fn4MHTqUTZs2OVSHUqpicqdYdqnz58+Tn59f7HPp6emsW7eOJ5980p7QgbmYrVq1Kl988YVT76VcR+/UqTJRv359Nm3axO7du7nllluueN4//vEPnn76ae666y57UtWoUSMATpw4wd13343FYuH5558nNDSU1atXM3ToUNLT03nppZeK1DV16lQsFguvvPIKJ0+eZP78+XTt2pUdO3bg7+9/xTYkJCTQtGnTIsEN4K677gJMN0VkZOR1/RyUUu7NnWJZocGDB5ORkYGnpyf33HMPs2bN4o477rA/v2vXLvLz84uUAfj4+NC6dWsSEhIc/vkoFxOlysA333wjnp6e4unpKe3bt5eXX35Z1q5dK7m5uZedGxAQIIMGDbqsfOjQoVK7dm05ffp0kfK+fftKUFCQXLhwQURE4uLiBJA6depIenq6/bwvvvhCAHnrrbeu2taWLVvKfffdd1n5nj17BJD333/fkY+slKqA3CmW/fjjj/LYY4/JRx99JP/+979l+vTpUqNGDfHz85Pt27fbz/vyyy8FkA0bNlxWR+/evSU8PPyq76PKD+1+VWXi/vvvZ9OmTTz88MPs3LmTN998k+joaOrUqcPKlSuv+XoR4V//+hcPPfQQIsLp06ftj+joaNLS0ti+fXuR1wwcOJDAwED78eOPP07t2rX5+uuvr/peWVlZ+Pr6Xlbu5+dnf14pVTm5UyyLioriq6++YsiQITz88MPExMSwefNmLBYLY8eOtZ9XGNOuFPc05rkPTepUmbnzzjtZtmwZ586d46effmLs2LGcP3+exx9/nMTExKu+9tSpU6SmpvLBBx8QGhpa5DF48GDg8kHKTZo0KXJssVho3LgxBw8evOp7+fv7k5OTc1l5dna2/XmlVOXlLrGsOI0bN6Znz57ExcVRUFAAXIxpV4p7GvPch46pU2XOx8eHO++8kzvvvJOmTZsyePBgvvzySyZMmHDF11itVgCefPJJBg0aVOw5t912W4m0r3bt2iQnJ19WnpKSAkBERESJvI9Syr2V91h2JZGRkeTm5pKZmUm1atWoXbs2cDHGXSolJUVjnhvRpE65VOHA3EuDicViuey80NBQAgMDKSgooGvXrg7VvW/fviLHIkJSUtI1A2br1q2Ji4sjPT29yGSJLVu22J9XSqlLlcdYdiW///47fn5+VK1aFYBbbrkFLy8vfv75Z/r06WM/Lzc3lx07dhQpU+Wbdr+qMhEXF4cUs8514ZiQZs2a2csCAgJITU0tcp6npyePPfYY//rXv9i9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33yzNGjQQPLy8qpmZ5RS1cKWclz//v2lTp06cv78efO8s2fPipeXl9x1113meb/++qsAMnnyZIv1x48fLwaDQfbt21fubaqaQy+/qgo7duwYLVq0wM/Pr8iygIAA8/8bDAYuXbrEypUrMRgMGAwGizNkZ86c4ZFHHiEwMBBXV1datGjBu+++a7G9LVu2YDAYWLt2LS+88AJBQUF4enpy++23c+rUqavG6urqSlBQUJn269NPP+Vf//oX4eHh5nlRUVE0adKEjz76yDzvyy+/JDc3l1GjRlns6xNPPMHp06fZvn17mf6eUqpmsqUc99NPPxEVFUXdunXN84KDg+nWrRvffPMN6enp5nZAkSsJgwcPRkRYu3Ztubepag4nawegbFdERATbt2/nwIED3HjjjSW2e//993n00Ufp2LEjI0eOBKBRo0YAJCQk8I9//AODwcCYMWOoX78+3333HcOHDyc1NZVnnnnGYluvvPIKBoOB559/nsTERBYuXEhUVBR79+7F3d39mvfpzJkzJCYm0r59+yLLOnbsyLfffmuejomJwdPTkxtuuKFIu8LlXbt2veaYlFLWYUs5Ljs7u9jlHh4e5OTkcODAAf7xj3+QnZ0NUKSth4cHYLqHrrzbVDWItU8VKtv13//+VxwdHcXR0VE6d+4szz33nKxfv15ycnKKtC3p0sTw4cMlODjY4vS+iMjgwYPF19dXMjIyRERk8+bNAkhoaKikpqaa23300UcCyBtvvFHmuEu7/Fq47L333iuybMKECQJIVlaWiIgMGDBAGjZsWKTdpUuXBJCJEyeWOSalVM1jSzmuZcuW0qRJE4vbPrKzsyU8PFwA+eSTT0RE5NNPPxVA3n//fYv1ly1bJoDceOON5d6mqjn08quqsFtvvZXt27dz++23s2/fPl599VX69OlDaGgoX3311VXXFxE+/fRTbrvtNkSE8+fPm199+vQhJSWFPXv2WKwzZMgQvL29zdP33HMPwcHBFmfQrkVmZiZgulx7JTc3N4s2mZmZZWqnlLJNtpTjRo0axR9//MHw4cM5dOgQBw4cYMiQIcTFxQF/56P+/fsTERHBs88+y2effcaJEyf46KOPePHFF3FycrLIW2Xdpqo5tKhT16RDhw589tlnJCUl8euvvzJp0iTS0tK45557OHToUKnrnjt3juTkZN5++23q169v8Ro2bBgAiYmJFutcf/31FtMGg4HGjRtz/PjxStmfwksNhZcoLpeVlWXRxt3dvUztlFK2y1Zy3OOPP84LL7zAhx9+SIsWLWjZsiXHjh3jueeeA0y9c8H0o3PdunXUrVuXu+++m+uuu44hQ4YwZcoU/P39ze3Ks01Vc+g9dapSuLi40KFDBzp06ECTJk0YNmwYH3/8MVOnTi1xHaPRCMCDDz7I0KFDi21z0003VUm8JQkODgYw/xK9XFxcHP7+/uazc8HBwWzevBkRwWAwWLQDCAkJqYaIlVLVwRZy3CuvvMKzzz7LwYMH8fX1pWXLlrzwwgsANGnSxNyuRYsWHDhwgEOHDpGUlETz5s1xd3dn7NixdOvWrULbVDWDFnWq0hV2Mri8MLq86ClUv359vL29yc/PJyoqqkzb/vPPPy2mRYSjR49WWmIMDQ2lfv36/O9//yuy7Ndff6V169bm6datW/POO+9w+PBhmjdvbp6/c+dO83KllP2pyTmuTp06Fh20Nm7cSIMGDWjWrJlFO4PBQIsWLczT3377LUajsdg4y7pNZX16+VVVWOFZqisV3vtx+cCUnp6eJCcnW7RzdHTk7rsrDtq8AAAgAElEQVTv5tNPP+XAgQNFtlPcExzee+890tLSzNOffPIJcXFx9OvXr8L7caW7776bb775xmIYgU2bNvHHH38waNAg87yBAwfi7OzM0qVLzfNEhGXLlhEaGkqXLl0qLSalVPWz9Ry3du1adu3axTPPPIODQ8n/3GdmZjJ58mSCg4O5//77K2Wbyjr0iRKqwm688UYyMjK48847adasGTk5OWzbto21a9cSFhZGTEyMeXynAQMG8OOPPzJjxgxCQkKIjIykU6dOJCQk0KlTJ86dO8eIESNo3rw5Fy9eZM+ePWzcuJGLFy8CpjGcevToQcuWLTEYDAwbNoyEhAQWLlxIgwYN2Ldvn7lLfknefPNNkpOTOXv2LG+99RZ33XUXbdq0AeDJJ5/E19cXgFOnTtGmTRv8/Px4+umnSU9PZ968eTRo0IBdu3ZZdI547rnnmDdvHiNHjqRDhw588cUXrFu3jg8++IB///vfVfG2K6WqiS3luK1btzJjxgx69+5N3bp12bFjB9HR0dx66618/fXXODn9fWHu3nvvJSQkhObNm5Oamsq7777LX3/9xbp16+jVq1eFtqlqCOt0ulX24LvvvpNHHnlEmjVrJl5eXuLi4iKNGzeWJ598ssho67///rvccsst4u7uLoBF1/+EhAQZPXq0hIWFibOzswQFBUmvXr3k7bffNrcp7O6/evVqmTRpkgQEBIi7u7sMGDDA4skPpYmIiBCg2FdsbKxF2wMHDkjv3r3Fw8ND/Pz85IEHHpD4+Pgi28zPz5dZs2ZJRESEuLi4SIsWLWTVqlVlfxOVUjWWLeW4o0ePSu/evaVevXri6uoqzZo1k9mzZ0t2dnaRtnPnzpVmzZqJm5ub1KlTR26//XaJiYm5pm2qmkHP1CmbUPgr9uOPP+aee+6xdjhKKVWpNMepyqAXxJVSSiml7IAWdUoppZRSdkCLOqWUUkopO6D31CmllFJK2QE9U6eUUkopZQe0qFNKKaWUsgN2P3Kg0Wjk7NmzeHt7F/sYF6WUbRER0tLSCAkJqfUj2mt+U8r+XEuOs/ui7uzZs4SFhVk7DKVUJTt16hQNGjSwdhhWpflNKftVkRxn90Wdt7c3YHpzfHx8rByNUupapaamEhYWZv5u12aa35SyP9eS4+y+qCu8JOHj46NJTyk7opcbNb8pZc8qkuNq9w0pSimllFJ2Qos6pZRSSik7oEWdUsr6zgCvWzsIpZSqfCLCB99/wN79e6v8b9n9PXVllZ+fT25urrXDUKpKOTs74+joaO0w/pYLLAamAulAU6C/VSOyS5rfVG1Q4/IbcOT0EUb93yh+cPiBDpkd2D5rO44OVRdjrS/qRIT4+HiSk5OtHYpS1cLPz4+goCDrdzTYCowGDhRM/wMItV449kjzm6ptakp+y8rLYk70HGafmk2OYw5uuW7cefFOjFlGHD20qKsyhQkvICAADw8Pq38QlKoqIkJGRgaJiYkABAcHWyeQeGACsKpguh7kzcljW89t3BJ5i3VislOa31RtUWPyG7Bh5wZGfTmKo65HwRH6nerHm73fpOG9Dav8b9fqoi4/P9+c8OrWrWvtcJSqcu7u7gAkJiYSEBBQvZcq8oClwGQgFTAAI+HnMT8z6qdRHHr/EDGPxdAysGX1xWTHNL+p2saq+Q2IT45n3NJxrM5dDa4QkhrCG85vcPfrd2Pwrp4fVLW6o0ThPSYeHh5WjkSp6lP4ea/We6x+AdoDT2Mq6NpD4tZEhvYdys2f3sz+xP34uvlyIuVE9cVk5zS/qdrIGvkt35jP0k+W0uy1ZqzOXY2D0YGnjj/F4fsPc8+ce6qtoINafqaukF6SULVJtX7eE4HngRUF03Ugf1Y+y9os48XNL5KSnYIBA4+2fZTZvWZT10PPKFU2zW+qNqnuz3vMnzE8tvIxdjnvAmdol9CO5c2X025qO6ucNtOiTilV+fKB5cCLQOE9+sNhxzM7GL1tNHu+3wNA2+C2LO2/lE4NOlkpUKWUKr+0rDSmvD2FRRcWYXQ24pPlw6y0WTw++XEcg63XA1eLOqVU5foVGAXsLphuA+dfP8+klEm88+k7APi6+vJKz1d4vP3jVdq9XymlKpOI8Nnmz3h649OccT0DDnDfift4/d7XCe5rvc4ZhWr1PXXK5LPPPqN3797UrVsXg8HA3r1XHyBxxYoVGAwGi5ebm5tFGxFhypQpBAcH4+7uTlRUFH/++WdV7Qb79u3j/vvvJywsDHd3d2644QbeeOONUtfZsmVLkf0ofO3atQuAI0eO0KNHDwIDA3Fzc6Nhw4a89NJLOu7XlS4AIzENTbIb8AXjYiNvL3+bpjub8k6MqaAb2moofzz5B6M7jtaCTlU5zW+a3ypLbEIst824jXt+uoczrmdolNSI7w3fs+atNTWioAM9U6eAS5cu0bVrV+69915GjBhR5vV8fHw4cuSIefrKexleffVVFi1axMqVK4mMjGTy5Mn06dOHQ4cOFUmQZXXdddexYsUKunfvXmTZ7t27CQgIYNWqVYSFhbFt2zZGjhyJo6MjY8aMKXZ7Xbp0IS4uzmLe5MmT2bRpE+3btwdMA1oOGTKEtm3b4ufnx759+xgxYgRGo5FZs2ZVaD/sihH4DzARuFgwbwjsnrCbUTtG8eu3vwLQMqAlSwcspWt4VysFqmojzW+a365VTn4OC1YtYMbRGWQ6ZeKc78zzZ5/nhWdfwL2Zu7XDsyR2LiUlRQBJSUkpsiwzM1MOHTokmZmZphlGEUm30stY9n1auXKl+Pv7S1ZWlsX8gQMHyoMPPlj2DV0hNjZWAImJiblq2+joaPH19S1xudFolKCgIJk3b555XnJysri6usrq1atFxLQfnp6e8scff5jbPPHEE9K0aVO5dOlSsduNiIiQzZs3l3GPREaNGiU9evQoc/ucnBypX7++zJgxo9R2Y8eOla5du5Z5uzVJkc/9tfifiHQSEQpeLUUubrooo74ZJYZpBmEa4j3LW17f/rrk5ude+9+T0r/TtU258puITeQ4zW+by7hHmt+KU6n5TUS2xmyVFpNaCNMQpiHdR3SXwysPl+vf7PK6lhynl18vlwF4WemVUfYwBw0aRH5+Pl999ZV5XmJiIuvWreORRx7hp59+wsvLq9TXBx98UJF3yEJ6ejoRERGEhYUxcOBADh48aF4WGxtLfHw8UVFR5nm+vr506tSJ7du3AzBkyBD69+/PAw88QF5eHuvWreOdd97hgw8+qLRhGFJSUvD39y9z+6+++ooLFy4wbNiwEtscPXqU77//nm7dulVGiLYpCdPTIDoAOwFvMC4wsnLFSprubsrS/y1FEP7d8t/8PuZ3nvnHMzg56IUBq7OBHKf5rew0v1Wd8+nnGf7qcG758hYOuh6k/qX6rExdyQ9zf6DZkGamcTZrIM2yNsjd3Z1///vfREdHM2jQIABWrVpFeHg43bt3Jysr66r3jQQGBl5TDE2bNuXdd9/lpptuIiUlhddee40uXbpw8OBBGjRoQHx8fLF/JzAw0LwMYPny5dx000089dRTfPbZZ0ybNo127dpdU2yFtm3bxtq1a1m3bl2Z1/nPf/5Dnz59aNCgQZFlXbp0Yc+ePWRnZzNy5EhmzJhRKXHaFCPwHvAccK5g3v3w26TfGLVrFL98/QsAN9S7gSX9l9AjsoeVAlW2SvNb2Wh+qxpGMbLy65VM2DmBCy4XABhxfARzHp2D/z/LXkBbTRWcOaxR7PHyq4jInj17xNHRUU6fPi0iIi1btrzqKfWrKc/liSvl5ORIo0aN5KWXXhIRkV9++UUAOXv2rEW7QYMGyb333msxb/369QJIly5dJD8/32LZY489Jp6enuaXwWAQNzc3i3nF2b9/v9SrV09efvnlMu/DqVOnxMHBQT755JNil588eVIOHjwoH374oYSGhsrcuXPLvO2apMKXJ/aKSBf5+1Jrc5GUDSny9HdPi+N0R2Ea4vmKp8z9ea5k52VXfuAF9PLr3+zx8quI5jfNbxV3LZdfDx4/KDe/dLP5UmvL0S3ll/m/iFTOnSNldi05Ts/UXc4AeFo7iLJp06YNrVq14r333qN3794cPHjQ/Ivtp59+ol+/fqWuv3z5ch544IFKi8fZ2Zk2bdpw9OhRAIKCggBISEiweAZfQkICrVu3tlh369atODo6EhcXx6VLl/D29jYvmzFjBs8++6x5unv37sydO5dOnUoe1+zQoUP06tWLkSNH8tJLL5V5H6Kjo6lbty633357scvDwsIAaN68Ofn5+YwcOZLx48dX+6Noql0KMAV4E9OZOk+QqcLqW1czftN44tNNZybuaX4PC3ovIMw3zIrBqlLZSI7T/Kb5rTpl5GYw852ZzIufR55THh45Hky/OJ2nX3ga5zBna4dXLlrU2bBHH32UhQsXcubMGaKiosxfyvbt21f55Ykr5efns3//fvr37w9AZGQkQUFBbNq0yZzkUlNT2blzJ0888YR5vW3btjF37ly+/vprnn/+ecaMGcPKlSvNywMCAggICDBPOzk5ERoaSuPGjYuN4+DBg/Ts2ZOhQ4fyyiuvlDl+ESE6OpohQ4bg7Hz1L7HRaCQ3Nxej0Wi/SU+AD4BngYSCeffCoZcOMWbPGDZ/uRmA6/2v583+b9K7UW8rBarskea3ojS/Vb5vf/mW0etGc9z1ODjA7SdvZ/Ftiwm/I9zKkVVQpZ83rGHKfXnChiQnJ4uHh4e4uLjImjVrKrydCxcuSExMjKxbt04AWbNmjcTExEhcXJy5zUMPPSQTJ040T0+fPl3Wr18vx44dk927d8vgwYPFzc1NDh48aG4zZ84c8fPzky+//FJ+++03GThwoERGRprf79TUVGnYsKGMGzdORER+++03cXV1lY8//rjEWEvrHbZ//36pX7++PPjggxIXF2d+JSYmmtvs3LlTmjZtar6sU2jjxo0CyOHDh4tsd9WqVbJ27Vo5dOiQHDt2TNauXSshISHywAMPlPKu1lxl+tzvF5Fu8vel1iYiad+lyYT/ThCnGU7CNMR9prvM/HGmZOVmlbydKqCXX/+m+e3qNL9pfivO6Qun5e4Zd5svtYaNDZMvXvxCpPiOydXqWnKcFnU2nPRETMmouO7/5REdHS2YzstYvKZOnWpu061bNxk6dKh5+plnnpHw8HBxcXGRwMBA6d+/v+zZs8diu0ajUSZPniyBgYHi6uoqvXr1kiNHjpiXDxs2TFq2bGkR+/z588Xf379IUipUWtKbOnVqsfsRERFhbrN582YBJDY21mLd+++/X7p06VLsdtesWSNt27YVLy8v8fT0lObNm8usWbNs9nNT6uc+VUTGi4ijmLKDu4hxplE+2vuRhM4PNSfA21ffLrFJsdUadyEt6v6m+e3qNL9pfrtcbn6uLPxwoXi96CVMQxynOMqzw56VtH1p1Rxpya4lxxlERKr6bKA1paam4uvrS0pKCj4+PhbLsrKyiI2NJTIyssKDRVpbr169aNGiBYsWLbJ2KMpGFPu5F+AjYBxwtqDhnfDHtD8Ys28MG/7aAECkXySL+i3iX03+ZYXITUr7Ttc2mt+UslTa5/7XQ7/y+AePE+MSA8A/4v7BsrbLaDWiVY0aouRacpzeU2ejkpKS2LJlC1u2bGHp0qXWDkfZst+BMcCmgulGkLEwg1kes5j31Txy8nNwcXRh4j8nMrHrRNyda9gI6sruaH5TlSklM4UX33qRpalLERfBL9OPuZlzeXTmozjUs6/herWos1Ft2rQhKSmJuXPn0rRpU2uHo2xRBjAdmA/kAm4gE4Wv7/qapzY9xYmUEwD0a9yPRf0W0di/+Ju3lapsmt9UZRAR1v53LWN/HEu8azwY4METDzL/wfkE9Ay4+gZskBZ1Nur48ePWDkHZKsFU0A0AdhTMGwB/vfIXTx18inWfmYaOCPcN542+bzCw6cAiz71UqippflPX6kTiCZ78z5NscNgArtD0QlOWBi+l5/KeYFujlJSLVc87bt26ldtuu42QkBAMBgNffPGFxfKHH34Yg8Fg8erbt6+VolXKDmQBxzE9DSIOuA6yPs9i+rPTaf51c9b9uQ5nB2cmdZ3EoVGHuKPZHVrQKaVshlGMJKcnc9ua29jgsAHXPFdmnJ7Bvqf30XOSfRd0YOWi7tKlS7Rq1YolS5aU2KZv377ExcWZX6tXr67GCJWyE/nAGeAgcKlg3hPw7dff0uJkC6b9OI3s/Gx6Rfbityd+Y1avWXi62MAotTWc/nBVqvqkXkrlaMJRUvJSyHHI4dbTt3KgxQEmvz0Z10au1g6vWlj18mu/fv2uOjK4q6urefTussjOziY7O9s8nZqaWuH4lLILycBJIKdg2hPynPN4MuNJ3vn0HQBCvENY0HsB97a4V8/MVaLCH66PPPIId911V7Ft+vbtS3R0tHna1bV2/OOjVGXJzcvl1LlTXJSL4ACO4sj8rPncNf8uDD61K5/V+HvqtmzZQkBAAHXq1KFnz57MnDmTunXrlth+9uzZTJ8+vRojVKqGysZUzKUUTLuAsYGRREnk7J9n2fDXBpwcnHim0zNM6TYFb1fvUjamKqKyf7jqj1al/iYinE8+z+mM0+Qb8gHwz/HH3cOdm5+9GYNb7SrowMqXX6+mb9++vPfee2zatIm5c+fy448/0q9fP/Lz80tcZ9KkSaSkpJhfp06dqsaIlaoBjJjGmjuAqaAzAEGQen0qh/IOkXgpERGhQ2gH9j62l3m952lBZ0WFP1ybNm3KE088wYULF0psO3v2bHx9fc2vwkdnKVXbZGRl8PvZ3zmReYJ8Qz4euR7c4HgDIaEhOLjW6NKmStXoM3WDBw82/3/Lli256aabaNSoEVu2bKFXr17FruPq6qqXL1TtlYLp7FzhyRxvyGmQw6nsUyQlJQHgZHCinkc93rvjPdzddcw5a+rbty933XUXkZGRHDt2jBdeeIF+/fqxffv2Yp+5OWnSJMaNG2eeTk1N1cJO1Sr5xnzOnjtLQl4CGMDB6EBofigBwQEYXAxkZWVZO0SrqtFF3ZUaNmxIvXr1OHr0aIlFnapZHn74YZKTk4vcIK4qWTZwCtP9cwDOYAwzkuiSyNnUsxjFCECAZwD+zv6cSj+l987VAOX94ao/WmsWzW/VKzktmZMpJ8lxyAED1MmpQ1idMFx8XawdWo1hU+coT58+zYULFwgODrZ2KKqavPLKK3Tp0gUPDw/8/PzKtE5ZehRevHiRBx54AB8fH/z8/Bg+fDjp6elVsQsAfPbZZ9x6663Ur18fHx8fOnfuzPr160td58iRI/To0YPAwEDc3Nxo2LAhL730Erm5ueY2K95dYdpHNwOG6w0YOhhw6+pGWpM0DuUd4nTqaYxixNPZk+b1mxPuG46Tg039lqtVLv/hquxfbc5v06ZNK7IfBoMBT8+/e92vWLHCYlkdnzp0aNwB1zxXrud6GoU30oLuClbN7unp6RbJKzY2lr179+Lv74+/vz/Tp0/n7rvvJigoiGPHjvHcc8/RuHFj+vTpY8Woa5+cnBxcXKzzxcnJyWHQoEF07tyZ//znP2Ve72o9Ch944AHi4uLYsGEDubm5DBs2jJEjR/Lhhx9WKM7jx48TGRlJSY9S3rp1K7feeiuzZs3Cz8+P6OhobrvtNnbu3EmbNm2KXcfZ2ZkhQ4bQtm1b/Pz82LdvHyNGjMBoNDJr1ixIBc6Cj6cPRz45Ap6QG5pLXG4cR5KOAODk4EQDnwbUda+rZ+ZsgP5wrX6a366uKvLbs88+y+OPP24xr1evXnTo0ME8bRQj3t7efPLjJxgNRgxiICAvgOb1m+PoXvT2BAWIFW3evFkwjW9v8Ro6dKhkZGRI7969pX79+uLs7CwREREyYsQIiY+PL9ffSElJEUBSUlKKLMvMzJRDhw5JZmamiIgYjUZJz063ystoNJZ5n1auXCn+/v6SlZVlMX/gwIHy4IMPlrru1KlTpVWrVrJs2TJp0KCBuLu7y6BBgyQ5OdncZujQoTJw4ECZOXOmBAcHy3XXXSciIidPnpRBgwaJr6+v1KlTR26//XaJjY01r5eXlydjx44VX19f8ff3lwkTJsiQIUNk4MCBZd63kkRHR4uvr2+Z2hbGX5JDhw4JILt27TLP++6778RgMMiZM2dERGTYsGHSsmVL83ucnZ0trVu3loceeqjYbcbGxkp5v07NmzeX6dOnl2udsWPHStd/dhU5KiK7RKKnRIuvl68YzxslPi1e9pzdI7vO7JJdZ3bJ8aTjkpufW2QbV37ubU1p3+maJi0tTWJiYiQmJkYAWbBggcTExMiJEyckLS1Nnn32Wdm+fbvExsbKxo0bpW3btnL99dcX+W6XpDz5TcQ2cpzmt9LZa37bu3evALJ161YREUm7lCYz588ULx8v2XVmlxw+flgyzmWIXOVjZOv5TeTacpxVz9R17969xMofuOrp28qWkZuB12yvav2bhdInpZd5sNdBgwbx1FNP8dVXXzFo0CAAEhMTWbduHf/973+vuv7Ro0f56KOP+Prrr0lNTWX48OGMGjWKDz74wNxm06ZN+Pj4sGHDBgByc3Pp06cPnTt35qeffsLJyYmZM2fSt29ffvvtN1xcXJg/fz4rVqzg3Xff5YYbbmD+/Pl8/vnn9OzZ07zdWbNmmc4yleLQoUOEh4eX6b0oSWlD4Wzfvh0/Pz/at29vbh8VFYWDgwM7d+7kzjvvZNGiRbRq1YqJEyfy+uuv8+KLL5KcnMybb755TXEVMhqNpKWl4e/vX+Z1jv5xlO+/+Z67brkLkgpm+kB6ZjqhrUPJz8+nWctmjH9pPL069dLBg2uA//3vf/To0cM8XdjJYejQobz11lv89ttvrFy5kuTkZEJCQujduzcvv/xyld03Zws5TvPb1dljfnvnnXdo0qQJnbt05nj8cc4bz5NjyCHzUiZ3drwTDNC2bVtmzZpFixYtKiVOe6Q319ggd3d3/v3vfxMdHW1OeqtWrSI8PJzu3btfdf2srCzee+89QkNDAVi8eDEDBgxg/vz55vGyPD09eeedd8yXJVatWoXRaOSdd94xX8aLjo7Gz8+PLVu20Lt3bxYuXMikSZPMg6wuW7asSGH++OOPc++995YaX0hISNnfjGJcrUdhfHw8AQGWD3N2cnLC39+f+Ph4ALy8vFi1ahXdunXD29ubhQsXsnnzZnx8fK4ptkKvvfYa6enpV30vALp06cKePXvIzs5m5J0jmTFyBnhBblguPhd9mDx/Mo1vaExmeiYfv/MxD/3rIQ4ePIhnAy3qrK2m/XC1BZrfSmdv+Q1Mx+yDDz7gyaef5ED8AfIMeQC0imjF20vepm2ntqSkpPDaa6/RpUsXDh48SIMGDSolVnujRd1lPJw9SJ9UdTeTXu1vl8eIESPo0KEDZ86cITQ0lBUrVphvoL2a8PBwc8ID6Ny5M0ajkSNHjpiTXsuWLS3uM9m3bx9Hjx7F29tyPLOsrCyOHTtGSkoKcXFxdOrUybzMycmJ9u3bW/yjVni/ZFWqyFA4xencuTPPPvssL7/8Ms8//zxdu3a1WN6iRQtOnDgBYN5HL6+/z4LcfPPNfPfdd0W2++GHHzJ9+nS+/PLLIsm3iBxY++pa0s6mse/PfUxYNIF56+Yx7LlhnEk9Q/iN4YTfGE49j3qEeocy9Lah3HDDDSxfvpyXX365zPuqagdbyXGa30pmV/mtwNqP1pKWlkaXO7qQZ8jDLc+NCJcI2t/Z3jTOZoEuXbpofrsKLeouYzAYbOaSVZs2bWjVqhXvvfcevXv35uDBg6xbt67Stn95DyQwdWpp166dxSWMQvXr1y/zdqvr8sTlrhwKJygoiMTERIs2eXl5XLx40WJkf6PRyC+//IKjo2OxvRG//fZbc0/UM2fO0L17d/bu3WteXtwYcGvWrOHRRx/l448/JioqquSgBUgEzkCYWxg0hOadmpMRnMGYMWPo/mh3HB0dcXdyJ8IvAi+XgmTraPpsaO9JVRxbyXGa38rOJvPbZTHEnY9jydtL6BrVlfr16hOcG0xgUGCxAwg7OztrfrsKLeps2KOPPsrChQs5c+YMUVFRZR6E9OTJk5w9e9Z8GWDHjh04ODjQtGnTEtdp27Yta9euJSAgoMRT9MHBwezcuZNbbrkFMCWS3bt307ZtW3Ob6rg8caUrexR27tyZ5ORkdu/eTbt27QD44YcfMBqNFr/E582bx++//86PP/5Inz59iI6OZtiwYeblERER5v93cjJ9lRo3blxiHKtXr+aRRx5hzZo1DBgwoOSA0zANIJxZMO0JeWF5nMk7w+m00+Tm5mIQA2E+YQR4BlicvcjPz2f//v3079+/jO+OUjWT5reysbn8ViAlPYWTySf56/Rf/G/b/1j2f8to4dEC1zol30+q+a0MKrXLRg1U3t5htiQ5OVk8PDzExcVF1qxZU6Z1pk6dKp6enhIVFSV79+6VrVu3SpMmTWTw4MHmNsX1rrp06ZJcf/310r17d9m6dav89ddfsnnzZnnyySfl1KlTIiIyZ84c8ff3l88//1wOHz4sI0aMEG9v72vqHXbixAmJiYmR6dOni5eXl7knYVpamrlN06ZN5bPPPhMRKXOPwr59+0qbNm1k586d8vPPP8v1118v999/v3n5nj17xMXFRb766isREVm+fLl4e3vLsWPHio3zar3DPvjgA3FycpIlS5ZIXFyc+XV5r7zFCxdLz849RXaJyC6RVa+skjX/t0Z+/t/P8vWOr2XWW7OkflB9GThooOTk5YiIyPTp02X9+vVy7Ngx2b17twwePFjc3Nzk4MGDJcZi6597W+r9WtU0v1nS/GZSI/Pb4sXSs2dPyc7NlqNnjpp76Y94aoQEBwZLbnbRnvq1Mb+JXFuO06LOxg/+Qw89VGz3/5IUdvlfunSphISEiJubm9xzzz1y8eJFc5uSuszHxcXJkCFDpF69es5gmpAAACAASURBVOLq6ioNGzaUESNGmN/b3Nxcefrpp8XHx0f8/Pxk3Lhx19zlf+jQocUOe7N582ZzG0Cio6NFRMo8FM6FCxfk/vvvFy8vL/Hx8ZFhw4aZE2lmZqY0b95cRo4cabHO7bffLl26dJG8vLwicV4t6XXr1q3E4XvEKCIJIlNHTpWI4AhTURcrsvK9ldL8pubi4ekh7h7u0qhpI5k6Y6rF5/WZZ56R8PBwcXFxkcDAQOnfv7/s2bOn1PfU1j/3WtT9TfObJc1vJjUqvxWYMmWKhIWFyZ7TBcMund4lx48dlwahDeSFF14odru1Mb+JXFuOM4iU0jXLDqSmpuLr60tKSkqR0+pZWVnExsYSGRmJm5ublSK8Nr169aJFixYsWrSoTO2nTZvGF198YXFvhLKidEyXWjMKpj0gLzyPs/lnSbxkui/GweBAiHcIAZ4BOBiu/SEwtv65L+07XdtofrOk+a1mupR5iRMXT5BhMCU6z1xPItwj8KjvYdERojLYw+f+WnKc3lNno5KSktiyZQtbtmxh6dKl1g5HlVcucAY4XzDtCBIqXPS6yKnUU+QZTV36/d39aeDTABdHfRSOqj00v9mHfGM+Z86dITEvEQzgaHQk1BhK/ZD6GJz1CTdVQYs6G9WmTRuSkpKYO3euxQ3Al3dDv9Ly5curKzxVEsFUyJ0G8gvm1YOMwAxOXjpJerJpuAk3JzfCfcPxca3dZ6JU7aT5zbaJCElpSZxKPUWuQy4YwD/HnzD/MJx9nK0dnl3Tos5GHT9+vNj5l3dDv1JgYCDe3t5Mmzat6gJTJbuE6VLrpYJpd8gPz+es8SwJSQmA6VJrsFcwgV6BlXKpVSlbpPnNdmXnZHPy3ElSDCngAK55rkQ4R+AT7gOa0qqcFnV25vJu6KqGyMN0qfVcwbQjSIiQ5F3wS9Zo+keqjlsdGvg0wNWpah4RpZSt0/xWcxnFSMKFBM5mn0UMgkEMBOUGERwUjIObVnPVRYs6KPUxPkpVWOGl1jOYCjsAf8gMzuTkpZOkJacB4OroSrhvOL5uvtUTln7eaxU93qqqpV1K40TSCbIcssAA3jneRHhH4BbiVukdIa6mtn/ea3VR5+xsurafkZFR7OjYSlVYBnACy0utYfnEEUdCUgKCYDAYCPYKJsgrqFovtWZkmHqgFX7+lX3S/KaqWm5+LqcTT3NBLoADOOU7EWYIwz/MH4OjdTpC1Pb8VquLOkdHR/z8/MyPVPHw8CjTswWVKlEepsd7XSyYNoAECKleqcSnxpsvtXo5exHiHYKLkws52TnVEpqIkJGRQWJiIn5+fjg6OlbL31XWoflNVRURISk1iYSsBPINph5fdXLrEOgXiJOnE9m52aYe/tUck+a3Wl7UAeZn4V35rDylyi0dSAKMBdMekOuXS1JCEpmnTc/8cnRwxN/dH3EWziSfsUqYfn5+Fs+AVPZL85uqbDl5OVxMv0g22QA4G52p61SXHO8cTiWesnJ0mt9qfVFnMBgIDg4mICCgxF5VSpXqD2A6sLtguiFkvpDJ/8n/8c6md8jJz8HF0YXhbYYzst1I3J2tdynM2dm51v6CrY00v6nKkpGTwdKPlrLi4gryHPLwyPXgybQneejxh3AKqBmlhOY3LerMHB0da/2HQZVTKjAVWIxpzDkPYDJ8fdvXPLXxKY4nHwegd6PevNnvTa6ve73VQlW1m+Y3dS2++fEbxqwfwwlX0xiBd568kzfueoOwAWFWjkxdSYs6pcpLgNXAeCC+YN7dEDsjlqf3Pc3Xn3wNQAOfBizss5C7brhL72VSStmcU+dO8fRbT/O5fA6uEJ4SzmLfxdy+5HawzSdw2T0t6pQqj0PAGGBzwfT1kPVGFvM85jHr81lk5WXh5ODE+M7jeemWl/By8bJisEopVX55xjwWfbCIKUemcMn5Ek75Tow9O5ap46bi2dzT2uGpUmhRp1RZpAMzgNcx9XB1A16E9XevZ8zGMRy9eBSAHtf1YEn/JdxQ/wbrxaqUUhW088BOHvvwMfa57gNn6BLXhWWdltFyestqH3NOlZ8WdUqVRoCPgXGYBhEGuB1OvnKSsYfG8tlHnwEQ7BXMgj4LuK/FfXqpVSllc5IzknlhyQssu7QMcRXqZNZhbs5chs8ajoO/PhHCVmhRp1RJjmC61LqxYDoSchbm8Lr/68z4agYZuRk4Ghx5qtNTTOs+DR9XHysGq5RS5ScifPjth4z7ZRyJrolggKEnh/Lq0FcJuCXA2uGpctKiTqkrZQAzgdcwDaDpCkyEHwb/wOhNo/k95ncAuoZ3ZUn/JdwUeJP1YlVKqQr649QfjPq/UWxy3ASu0OxCM94Ke4vuy7trdWCj9LApVUiAL4FnMD3iC6AfnJ1zlvF/jmfN2jUA1Peoz7xb5zGk1RC91KqUsjlZeVnM+c8cZp+ZTY5jDm65brx04SUmPD8Bl+tcrB2eugZa1CkFcAx4Cvi2YDocchfm8mbQm0xdN5W0nDQcDA6Maj+Kl3u+jJ+bnxWDVUqpitm4YyOjvhzFn25/giP0Od2HJX2X0OjuRtYOTVUCLepU7ZYJzAHmAtmAMzABfhryE6N+GMWB3w4A0Cm0E0sHLKVtcFvrxaqUUhWUkJTA+KXj+SDvA3CD4LRgFrouZNDCQRg89YqDvdCiTtVe64AngdiC6VshYV4CE/6awPtr3gegrntd5kTN4ZE2j+Bg0B5gSinbYhQjyz9ezqR9k0hxScHB6MDo06N5eczL+LbxtXZ4qpJpUadqn1hM9819VTDdAPLn5/NWxFu89N1LpGSnYMDAo20fZXav2dT1qGvFYJVSqmL2/rGXx1c+zk6XneAC7RLasazlMtpPbQ/6G9UuaVGnao8sTD1aXyn4fydgLOx4dAejNo8i5nAMAG2D2/LWgLfoGNrRerEqpVQFpWWlMXXZVBYlLSLfJR/vbG9eSX+FUdNG4RigzwC2Z1rUqdphPaYx544WTHeH8//f3p3HVVXnfxx/XbZ7cQE0FcQFtVE0TW1KGdM0izL052gzY2ZlNdWoCCqhuS+44o4bqE2mZZZp4zKVZWppZma5VGpmauaOu2wCIvf7+wNkstRk0cu9vJ+Px308/J57zuVz+HI+fu75nvM9U88w8MhA5r0zDwA/mx9jHxpL93u74+6mxCcizsUYw/J1y+n9aW+OWY+BGzxx+Aninowj8JFAR4cnt4GKOnFtR8gZal2W264M9sl2XqvzGoPWDOJc+jkAnm/8PBNCJ1CptCbbFBHn80viL/Sa04sPLB+AFWqdr0V8xXgem/0YaJaSEkNFnbimS+Q8p3UUOZMJuwO9YVv4NsLXh/PNh98A0NC/IfFt42lRvYXjYhURKaCs7CymvjmVkT+PJN0jHc9sT/on9mdIvyF41/F2dHhym6moE9ezjpyh1h9z2y3g/LTzDEkcwpy352AwlPUqy+jWo4loGoGHmw4DEXE+X+z4gvAl4eyy7QIPaHW8FbNbzqbeyHqgWUpKJP1vJq7jGNAXeDe3XQnsk+y8cfcb9F/bnzMXzwDw1N1PMfmRyVQuW9lRkYqIFNjZlLMMiB/AvMx5YIMKaRWYwhS6TuqKxUfVXEnm0JuaP//8c9q3b09gYCAWi4UVK1Zc9b4xhuHDh1O5cmW8vb0JDQ1l3759DopWiq0sYApQl5yCzg2IhO+++I6Wl1vywn9f4MzFM9SrUI9Pn/2URX9bpIJORJyOMYYFKxcQPD44p6AD/nX4X+z9216enfisCjrJf1H33HPP8fnnnxfJD09LS6NRo0bEx8df8/2JEycyY8YM5syZw5YtWyhdujRt2rQhIyOjSH6+uIANwD1APyAV+AskbU4iql0Uf37nz2w6sonSnqWZ9MgkvuvxHa1rtnZsvFLsFWWOEykqew7uofWw1vzz239y1ussDc404AvfL3j11Vcp/5fyjg5Piol8F3VJSUmEhoZSu3Ztxo0bx7Fjxwr8w8PCwhgzZgyPP/74794zxjBt2jSGDh1Khw4daNiwIW+++SbHjx//3Rm9X8vMzCQ5Ofmql7igRKAr8CCwG6gA5jXDojmLqLuxLtO3TMdu7HS6qxM/Rv5Iv/v74enu6dCQxTkUZY7TaIQUVvqldIbGD6XR/EZs8NyAd5Y3E05NYPvA7TSPap5zE5hIrnwXdStWrODYsWOEh4fz7rvvUqNGDcLCwnjvvffIysoqssAOHjxIYmIioaGhect8fX0JCQlh8+bN190uNjYWX1/fvFe1atWKLCYpBi4DM4Bg4C1yLgbuAbu/3E1r99Y8s+IZElMTqXNHHVY/s5olnZZQ1aeqQ0MW51KUOU6jEVIYH238iPoj6jP2zFiy3LNof6Q9e0L20D++P55V9CVVrsEU0rZt20xkZKSx2WymQoUKJioqyvz000/5/hzALF++PK+9adMmA5jjx49ftV6nTp3ME088cd3PycjIMElJSXmvI0eOGMAkJSXlOyYpZjYZYxoZY8h9NTEmZXOK6be6n/EY5WGIwXiP8TZjNowxGVkZjo1VbpmkpKTbekzfqhxnt9tNQECAmTRpUt6yCxcuGKvVat55551rfobyW8lw9MxR84+R/zDEYIjBVI2uapYNW2bsF+2ODk1ug8LkuELdKHHixAnWrFnDmjVrcHd3p23btuzcuZO77rqLuLi4QhecBWG1WvHx8bnqJU7uFPAC0Bz4DigHZrZh6byl1P2yLpM3T+ay/TIdgjvwQ8QPDGk5BKuH1bExi0u4lTmuIKMRGolwbdn2bGa8PYN6cfV4z7yHu92d6CPR7PnnHh4f9TgWb90IITeW76IuKyuL//znP/zf//0fQUFBLF26lKioKI4fP84bb7zB2rVrWbJkCaNGjSpUYAEBAQCcPHnyquUnT57Me09cXDaQQM5Q6/zcZS/AT1t+ok3pNjyx7AmOpRyjVrlafPjUh6x4cgU1/Go4LFxxDbcrxyUmJgLg7+9/1XJ/f/+8935r0KBBJCUl5b2OHDlSqBik+Ni6eytNhzalz74+pHimEJIYwtagrUz59xTKNCjj6PDESeR7nrrKlStjt9vp0qULX3/9NY0bN/7dOq1bt8bPz69QgdWsWZOAgADWrVuX9zOSk5PZsmUL4eHhhfpscQJfA+HA9tz2PXBx5kXGZoxl0uJJZNmzsLpbGdhiIAOaD8DbUzOnS9G4XTmuIKxWK1arzkK7kqSLSQxNGEp8ajzGavBL9yP2UizdxnbDrbxDZx0TJ5Tvoi4uLo5OnTphs9muu46fnx8HDx78w89KTU1l//79ee2DBw/y7bffUr58eapXr05UVBRjxoyhdu3a1KxZk2HDhhEYGEjHjh3zG7Y4izPAYOA1wAC+YMYYVj60kqhPojiUdAiAsD+FMTNsJneWv9OBwYorKsocdyO/Ho2oXPl/8yaePHnymoWkuBZjDEs+XkLUxigSrYlggacPP82UrlPwf9D/jz9A5BryXdR17dq1yH741q1bad36f/OGRUdHAznzRC1YsID+/fuTlpZGt27duHDhAi1atODjjz++YbIVJ2UH5gEDgXO5y56FA0MO0Htrb1YtXQVAdd/qTH9sOh2CO2Cx6PoSKXpFmeNuRKMRJdeBYweImBvBavfVYIXa52ozu8psHp77sJ7zJIXi0D+fBx98EGPMdd+3WCyMGjWq0NeuSDG3HegJbMlt3w0ZMzKYwARil8SSmZ2Jp5snr9z/CoMfGExpr9IODFbk5mk0Qn4t83Imk16fxJgjY8j0yMR62crg04PpP6A/tpo6WSGFp+8E4jjngaHAbHKGWssCo2FVm1X0+qQXP5//GYDQWqHMCptFcIVgx8UqUgAajZArPvv6M8KXh7PXthc8IPRYKAmhCdR+orajQxMXYjE3OlXmApKTk/H19SUpKUnTmxQXduBNoD9wOnfZ0/DL8F+I2h7Fyr0rAahStgpxbeL4x13/0FCr5NEx/T/6XRR/p5JO0W9WPxZeXgiAf6o/cR5xPDnkSSxllNfk9wpzXOtMndxe35Ez1PplbvsuyJyZyRTPKYxZOob0y+l4uHkQFRLF8FbDKWst68BgRUQKxm7szHtvHgO+HcB5r/NYjIXwI+GM7TkWv3tv/53TUjKoqJPbIwkYDswi50xdaSAG1vx1DZGfRPLT2Z8AaBXUivi28dSvVN9hoYqIFMb3+76nx4IebPbaDF7Q+FRj5tw1h5DhIQWYHVbk5qmok1vLAIuAfsCVeaSfgKOjjhL9fTRL31kKgH9pf6Y8OoWn7n5KQ60i4pTSMtOImRND3Lk4sr2yKZNZhlGpo+g1vBce/vrvVm49/ZXJrbMLiAA+z20HQ9aMLKaVnsbI/4wkLSsNN4sbvZr2YuSDI/G1+TowWBGRgvvvp/+l15peHLYdBjf425G/Mb3TdKq2qero0KQEUVEnRS8FiAGmk/OoL29gGKz/+3oi1kbww+kfAGherTnxbeNpFNDIYaGKiBTGkVNH6JXQi5WWlWCDGhdqMKv8LNrFtwM9/ENuMxV1UnQM8C7QFzieu+xxODHuBP1+6Mfb77wNQMVSFZkQOoHnGj+Hm0UXmIiI88nKzmLGwhmM2D+CNM80PLI96JfYj6F9h1I6WHNpimOoqJOisQeIBD7Nbd8Jl2dcJr58PMOWDyPlUgoWLPS4rwdjHxpLOe9yDgxWRKTgNn+7mR7v9uB72/fgCS1OtGBO8znUH1kfdEmwOJCKOimcNGA0MBXIAmzAINj01CZ6ru3J9998D0CTwCYktEvgvsD7HBeriEghnE89z8D4gbya8SrYoPzF8kyyT+L5Cc/j5qtRB3E8FXVSMAZYDkQBR3KX/R+cGn+K/vv688aiNwAoZyvH+NDxvPTnlzTUKiJOyRjDovcXEf1VNKetOTOm//PwP5n40kQqNKvg4OhE/kdFneTfPqAXsDq3XQOyp2UzN3AuQz4YwoWMCwC8eM+LjA8dT4VSSnoi4pz2HtpL+L/D+czzM7BCvbP1mFNzDi1fbQnujo5O5Goq6uTmXQTGAZOAS4AXMAC+fu5req7rybZvtwHQOKAxCW0TaFatmeNiFREphIysDMb9exwTEidwyfMStiwbw88Pp++gvnhV9XJ0eCLXpKJObs5/gT7AL7ntNnB28lkGHxzMv9/6NwaDr9WXMQ+NIfy+cNzd9BVWRJzTmk1rCP8gnAO2A+AOYcfCiG8XT80ONR0dmsgNqaiTG/uZnGLug9x2NbDH2Xm9xusMXDWQs+lnAejasCuTHpmEfxl/R0UqIlIoJ86dIDo+msX2xWCDwJRAppeazt+n/R1LKd3WKsWfijq5tgxgAhALZAKeQD/Y/tJ2en7aky27tgDQoFID4tvG0zKopeNiFREphGx7NnPencPgXYNJ9krGze5Gr+O9GNV7FD53+zg6PJGbpqJOfm8VOTdC/JzbfhguTL3AsKPDSHgrAbuxU8arDKMeHEVk00g83T0dGKyISMHt2LOD7gu78431G/CCJiebMOfeOfw55s+ac06cjoo6+Z9D5ExRsiK3HQhmimFh3YW88skrnEo7BUCXBl2Y/OhkAssGOipSEZFCSUlPYXjCcGYkz8ButeOT4UNsRizdR3XHvYKuCRbnpKJOcoZXpwBjgHRybtOPgp09d9JzQ0++WPkFAHUr1GVW2CwervWw42IVESkEYwzLPllGn/V9OGY7Bm7Q+Uhn4p6Oo3Lryo4OT6RQVNSVdGvIebzXT7ntlpA8LZmYUzHMeGsG2SabUp6lGN5yOC83exkvd93KLyLO6eDxg0TOiWSV+yqwwZ3n7yQhIIFHZz+ac92wiJNTUVdSHQWigaW5bX8wkwzvNn6X6E+iOZF6AoC/1fsbcW3iqO5b3VGRiogUyqXsS0yZP4XRh0aT7pGO12UvBp4ZyKBXBmGrZXN0eCJFRkVdSXMJmAaMIue5rW5AJOyJ2kPkxkg+XfYpAH8q/ydmhs3ksT895rhYRUQKaePWjfT4Tw9+sP0AHtD6eGsSHkqgbue6jg5NpMipqCtJ1gM9gT257fshdUYqo8+NZupbU7lsv4zNw8bgFoN5pfkr2Dz0DVZEnNOZ5DP0n9Wf+VnzwQYV0yoyxX0Kz0x+BktZ3dYqrklFXUlwAugLvJPbrghmomFZk2VEfRLF0eSjALSv057pj02nZjnNmi4izslu7CxYtoBXtr/COa9zAHQ70o3YHrGUv6+8g6MTubVU1Lmyy8BMYASQQs5Qaw/Y128fkZsi+eS9TwCo4VeDGY/NoH1we8fFKiJSSLsP7Cb89XA2em0EL7j7zN3MrTuXZsOa5eQ/ERenos5VbQQigJ257aZwceZFYlNjmbhoIpeyL+Hl7sWA5gMY2GIgpTxLOTBYEZGCS8tMY/Tc0Uw5M4XLXpcpdakUI1NG0mdIHzwDdFurlBwq6lzNSaA/8GZuuzwwAd5v8T69V/fmlwu/ANDmzjbMDJtJ7TtqOyZOEZEi8OH6D4lYHcEh2yFwh78e/Ssz/z6T6o/pjn0peVTUuYpsYDYwFEgi5/E2/4KDAw/S56s+vP/u+wBU86nGtMem8Xjdx7FYdLGwiDino6eO0md2H5axDGxQLakaM8vNpMOsDmB1dHQijqGizhVsJueu1m9z2/dCxswMJl6aSOzbsWRczsDDzYO+zfoyrOUwSnuVdmCwIiIFd9l+mVlvzWLYT8NI9UzF3e5O9IlohkcPp0zdMo4OT8ShVNQ5s9PAQOD13LYfEAsftf6IXqt7ceD8AQAeqvkQs8JmUa9iPQcFKiJSeF9//zXd3+nOt7ZvwROaJTZjTrM5NIxpmDM6IVLCqahzRtnAv4HBwPncZS/A4SGHifomiuWLlwMQWDaQKY9OoXP9zhpqFRGndSHtAoPjBzPn4hyMzVAuvRwTsifwYuyLuPnptlaRK1TUOZtvyBlq3ZrbbgSXZl0ijjhGLR7FxayLuFvc6RPSh5gHYyhrLevAYEVECs4Yw+IPFvPy5pc5aT0JFnj2yLNM+uckKjWv5OjwRIodFXXO4hwwBJgLGMAHGA3rwtYRsTqCvWf3AvBA9QdIaJdAg0oNHBeriEgh7Tu8j4hXI1jjuQasEHwumNlBs2k9tzW4Ozo6keJJRV1xZwfmAwOAs7nLnoFjMceI3hHNkreXAFCpdCUmPzKZZxo+o6FWEXFamVmZTHhtAuOOjyPTMxPrZStDzg2h/8D+WKvptlaRGynWFyPExMRgsViuetWtW4IewrwDaA68RE5BVx+yPstiSvgU6i6py5LdS3CzuBHZJJK9kXvp2qirCjoRcVrrNq+j4bCGjDg1gkyPTB49/ii77t3FsPhhKuhEbkKxP1NXv3591q5dm9f28Cj2IRfeBWAYkEDOmboywEjY2GEjPT/pya5TuwD4S9W/kNA2gXsq3+O4WEVECunk+ZP0ndWXRfZF4A0BqQHE2eLoHNcZSyl9URW5WcX6TB3kFHEBAQF5rwoVKtxw/czMTJKTk696OQ1DzpMggoFZ5BR0T8LJ7Sd5tuaztHyrJbtO7eIO7zt4rf1rbHphkwo6ESdW0kcj7MbO3MVzqTu5Lovsi7AYCxHHIvix6488OfpJFXQi+VTsT3vt27ePwMBAbDYbzZo1IzY2lurVr//4l9jYWEaOHHkbIywi35PzrNYvctt14fKsy8wuM5uh/xlKcmYyFix0u7cb4x4eR3nv8g4MVkSKSokcjQC+2/sdPd7owVfWr8AL7jl9D3MbzaXJiCaac06kgIp19ggJCWHBggUEBwdz4sQJRo4cyQMPPMCuXbsoW/baU3UMGjSI6OjovHZycjLVqlW7XSHnXxIQA8wkZ/65UsBw2NxpMz3X9OTbxJzHRNxb+V5mt5tNkypNHBaqiBS9K6MRJUVqZiox8TFMS5pGtjWbspllGZs+lp4xPXGvoNtaRQqjWBd1YWFhef9u2LAhISEhBAUFsWTJEl588cVrbmO1WrFaneCCWgO8A/QFEnOX/R3OjDvDwB8HMm/hPAD8bH7EPhzLv/78L9zdlPBEXE1+RiMyMzPJzMzMazvT5SXGGFauXUmvT3tx1HYU3KDT0U7EdYmjykNVHB2eiEso1kXdb/n5+VGnTh3279/v6FAK5wcgEvgst10bsmdk81qF1xi0fBDnM3IeE/FC4xcYHzqeiqUrOipSEbmF8jsa4ayXlxw6cYhes3vxvvv7YIOaF2oS7x9PWEIYeDo6OhHXYTHGGEcHcbNSU1OpXr06MTEx9O7d+6a2SU5OxtfXl6SkJHx8fG5xhH8gFRgFxAGXAW9gCGx9eivha8LZejznMRGN/BuR0C6B+6vd77hYRYqpYnVMF7ELFy4QFBTE1KlTrzkaca0zddWqVSu2v4us7CziFsQx8uBILnpexDPbk/6n+zP4lcGUqlXK0eGJFEuFyXHF+kxdv379aN++PUFBQRw/fpwRI0bg7u5Oly5dHB1a/hjgPeBl4Fjuso5wbvw5huwbwtw35mIw+Fh9GN16ND2b9MTDrVh3jYjcAn80GuE0l5cAm7Ztosd7Pdhl2wWe0OpEK2a3nk29zvUcHZqIyyrWlcPRo0fp0qULZ8+epWLFirRo0YKvvvqKihWdaDhyLzlDrVdubqsJ9hl2FlRZwID/DuDMxTMAPNPwGSY9MomAMiXngmkRuVpqaioHDhyga9eujg6lwM6lnGPArAG8duk1sMEdF+9gsmUyz016DktZ3dYqcisV66Ju8eLFjg6h4NKAscBkIAuwAgPh2+e/pee6nmzethmA+hXrE982nlY1WjkuVhFxCJcZjSDnRoiFKxbS95u+nLHmfFl94egLTOw2kTua3OHg6ERKhmJd1DklA6wAooDDucvaQtLkJIb9Moz4N+OxGzulPUsT82AMfUL64OmuK4VFSiKXGI0A9hzcQ/hr4Wzw2gBWqH+mPnOC59BiWAsnmOJexHWoqCtK+4HewEe57SAwcYZFtRbR78N+nEw7CUCnuzoxtc1U5l5rTQAADllJREFUqvpUdVSkIlIMOPVoBJB+KZ2xc8cy8fREsryy8M7yZkTSCKIHR+NZWV9WRW43FXVFIR0YD0wAMgEvoB/s7r6biE8j2LBiAwDBdwQzq+0sQmuFOi5WEZEisPrz1fRc1ZOfvX8Gd2h3rB2zHp9FjbAajg5NpMRSUVdYH5Bzdu5gbvsRSIlLYeSxkUx/YzqX7Zfx9vBmWMthRDeLxurhHHeuiYhcy/Ezx3k5/mWWsAS8oUpyFWb6zaTjjI5YbLoRQsSRVNQV1C/kFHPv57argplqWFpvKdGrozmWkjN3Sce6HZnWZhpBfkEOClREpPCy7dnMfns2Q/YMIdkrGXe7O70TezMyaiRl6137sY0icnupqMuvDHLuaB2b+28PIBr2RuwlckMka/+TM3fJneXuZEbYDNrWbuu4WEVEisC2Xdvovqg722zbwAuanmzK3KZzaRzTGHRyTqTYUFGXHx8Dvci5IQKgNaRNS2Ps6bFMfmMyWfYsrO5WBj8wmP7N+2PzsDkwWBGRwklOT2borKHEp8Zjt9nxzfAlNiuWbmO74V5Oz6IWKW5U1N2Mw+Q8DWJZbrsymMmGFfesIGp1FIeTcuYuaVe7HTPCZlCrXC1HRSoiUmjGGJZ+tJSojVGcsJ0AN3jq6FNMeW4KAS00QbpIcaWi7kYuAVOB0cBFwB3oA/v77Kf3xt58tCRn7pIg3yCmPzadvwb/FYtFYxEi4rwOHD1AxNwIVnusBhvUPlebhOoJhM4JzcmBIlJsqai7nnVABDmP+QJ4ANJnpDP+/HgmvDmBzOxMvNy96NesH0NaDqGUpx5OLSLOKzMrk8mvT2bM0TFkeGTgddmLQecGMbD/QGxBupRExBmoqPutY0A0sCS3XQmYDB82/ZBeH/fi4IWcuUseqfUIs9rOos4ddRwUqIhI0diwZQM9lvfgR+8fwQMePv4wCW0SqPM35TcRZ6Ki7oosYDoQQ85zW92ACPil3y9EfRnFysUrAahStgpxbeL4x13/0FCriDi10xdO029WP97MfhO8oVJqJeJscXSZ2gVLaeU3EWejou6KQ8AQcq6jawaZMzOZnDaZsQvHkn45HQ83D17+y8sMbzWcMl5lHBysiEjB2Y2deUvmMeD7AZz3Oo/FWOh+rDvjIsZRrnE5R4cnIgWkou6KP5Ez91x5+OSBT4j8OJJ95/YB8GCNB4lvG89dFe9yaIgiIoW1c+9Owt8IZ5N1E3hBo9ONmNtwLiEjQjTnnIiTU1H3K0e7HeXl1S/z3tvvARBQJoApj06hS4MuGmoVEaeWlpnGqIRRTD0/lcvWy5S+VJrRF0fTa0QvPCrqvwIRV6AjOdePZ37kvlfvIy0rDXeLO72a9mJk65H4WH0cHZqISKG9NOwlFpdeDO7w+NHHmd55OtVCqzk6LBEpQirqcgXfEUyTKk3Iys4ioV0CDf0bOjokEZEiM7TVULau2cpU/6m0T2gPno6OSESKmoq6XBaLhWVPLMPX5oubxc3R4YiIFKn67erzY8iPuFfQDMIirkpF3a+U89ZdXyLiulTQibg2nZISERERcQEq6kRERERcgIo6ERERERfg8tfUGWMASE5OdnAkIlIUrhzLV47tkkz5TcT1FCbHuXxRl5KSAkC1apqPScSVpKSk4Ovr6+gwHEr5TcR1FSTHWYyLf9212+0cP36csmXL/uFTIZKTk6lWrRpHjhzBx8f1Jh3W/jkvV943yN/+GWNISUkhMDAQN7eSfQVJfvIbuPbfkSvvG2j/nN3tynEuf6bOzc2NqlWr5msbHx8fl/yjukL757xced/g5vevpJ+hu6Ig+Q1c++/IlfcNtH/O7lbnuJL9NVdERETERaioExEREXEB7jExMTGODqI4cXd358EHH8TDwzVHprV/zsuV9w1cf/+KC1f+PbvyvoH2z9ndjv1z+RslREREREoCDb+KiIiIuAAVdSIiIiIuQEWdiIiIiAtQUSciIiLiAkpcURcfH0+NGjWw2WyEhITw9ddf33D9pUuXUrduXWw2G3fffTerVq26TZHmT2xsLE2aNKFs2bJUqlSJjh07snfv3htus2DBAiwWy1Uvm812myLOn5iYmN/FWrdu3Rtu4yx9B1CjRo3f7Z/FYiEiIuKa6xfnvvv8889p3749gYGBWCwWVqxYcdX7xhiGDx9O5cqV8fb2JjQ0lH379v3h5+b32C2JlN/+pzgfI7+l/Ha14t53xTnHlaii7t133yU6OpoRI0awfft2GjVqRJs2bTh16tQ11//yyy/p0qULL774Ijt27KBjx4507NiRXbt23ebI/9iGDRuIiIjgq6++Ys2aNWRlZfHoo4+SlpZ2w+18fHw4ceJE3uvQoUO3KeL8q1+//lWxfvHFF9dd15n6DuCbb765at/WrFkDQKdOna67TXHtu7S0NBo1akR8fPw13584cSIzZsxgzpw5bNmyhdKlS9OmTRsyMjKu+5n5PXZLIuW33yuux8i1KL9drTj3XbHOcaYEadq0qYmIiMhrZ2dnm8DAQBMbG3vN9Z944gnTrl27q5aFhISY7t2739I4i8KpU6cMYDZs2HDddebPn298fX1vY1QFN2LECNOoUaObXt+Z+84YY/r06WPuvPNOY7fbr/m+s/QdYJYvX57XttvtJiAgwEyaNClv2YULF4zVajXvvPPOdT8nv8duSaT8djVnOUaMUX77LWfqu+KW40rMmbpLly6xbds2QkND85a5ubkRGhrK5s2br7nN5s2br1ofoE2bNtddvzhJSkoCoHz58jdcLzU1laCgIKpVq0aHDh3YvXv37QivQPbt20dgYCC1atXi6aef5vDhw9dd15n77tKlS7z11lu88MILN3xIuzP13RUHDx4kMTHxqr7x9fUlJCTkun1TkGO3pFF+uzZnOkaU367mTH33a47OcSWmqDtz5gzZ2dn4+/tftdzf35/ExMRrbpOYmJiv9YsLu91OVFQUzZs3p0GDBtddLzg4mNdff52VK1fy1ltvYbfbuf/++zl69OhtjPbmhISEsGDBAj7++GNmz57NwYMHeeCBB0hJSbnm+s7adwArVqzgwoULPP/889ddx5n67teu/P7z0zcFOXZLGuW333OmY0T57WrO1He/5egc55rP4ijhIiIi2LVr1w2vyQBo1qwZzZo1y2vff//91KtXj7lz5zJ69OhbHWa+hIWF5f27YcOGhISEEBQUxJIlS3jxxRcdGFnRmzdvHmFhYQQGBl53HWfqO5GipPzm3JTfbq0Sc6auQoUKuLu7c/LkyauWnzx5koCAgGtuExAQkK/1i4PIyEg++OADPvvsM6pWrZqvbT09PbnnnnvYv3//LYqu6Pj5+VGnTp3rxuqMfQdw6NAh1q5dy0svvZSv7Zyl7678/vPTNwU5dksa5bc/5izHCCi//ZYz9Z2jc1yJKeq8vLy49957WbduXd4yu93OunXrrvpG8GvNmjW7an2ANWvWXHd9RzLGEBkZyfLly/n000+pWbNmvj8jOzubnTt3Urly5VsQYdFKTU3lwIED143Vmfru1+bPn0+lSpVo165dvrZzlr6rWbMmAQEBV/VNcnIyW7ZsuW7fFOTYLWmU3/6YsxwjoPz2W87Udw7Pcfm6rcLJLV682FitVrNgwQLzww8/mG7duhk/Pz+TmJhojDGma9euZuDAgXnrb9q0yXh4eJjJkyebPXv2mBEjRhhPT0+zc+dOR+3CdYWHhxtfX1+zfv16c+LEibzXxYsX89b57f6NHDnSrF692hw4cMBs27bNPPnkk8Zms5ndu3c7YhduqG/fvmb9+vXm4MGDZtOmTSY0NNRUqFDBnDp1yhjj3H13RXZ2tqlevboZMGDA795zpr5LSUkxO3bsMDt27DCAmTp1qtmxY4c5dOiQMcaY8ePHGz8/P7Ny5Urz/fffmw4dOpiaNWua9PT0vM946KGHzMyZM/Paf3TsivKbMx0jv6X85lx9V5xzXIkq6owxZubMmaZ69erGy8vLNG3a1Hz11Vd577Vq1co899xzV62/ZMkSU6dOHePl5WXq169vPvzww9sc8c0BrvmaP39+3jq/3b+oqKi834W/v79p27at2b59++0P/iZ07tzZVK5c2Xh5eZkqVaqYzp07m/379+e978x9d8Xq1asNYPbu3fu795yp7z777LNr/i1eid9ut5thw4YZf39/Y7VazcMPP/y7fQ4KCjIjRoy4atmNjl3Jofz2XF67OB8jv6X85lx9V5xznMUYY/J3bk9EREREipsSc02diIiIiCtTUSciIiLiAlTUiYiIiLgAFXUiIiIiLkBFnYiIiIgLUFEnIiIi4gJU1ImIiIi4ABV1IiIiIi5ARZ2IiIiIC1BRJyIiIuICVNSJiIiIuAAVdeLUTp8+TUBAAOPGjctb9uWXX+Ll5cW6descGJmISOEov0l+WYwxxtFBiBTGqlWr6NixI19++SXBwcE0btyYDh06MHXqVEeHJiJSKMpvkh8q6sQlREREsHbtWu677z527tzJN998g9VqdXRYIiKFpvwmN0tFnbiE9PR0GjRowJEjR9i2bRt33323o0MSESkSym9ys3RNnbiEAwcOcPz4cex2O7/88oujwxERKTLKb3KzdKZOnN6lS5do2rQpjRs3Jjg4mGnTprFz504qVark6NBERApF+U3yQ0WdOL1XXnmF9957j++++44yZcrQqlUrfH19+eCDDxwdmohIoSi/SX5o+FWc2vr165k2bRoLFy7Ex8cHNzc3Fi5cyMaNG5k9e7ajwxMRKTDlN8kvnakTERERcQE6UyciIiLiAlTUiYiIiLgAFXUiIiIiLkBFnYiIiIgLUFEnIiIi4gJU1ImIiIi4ABV1IiIiIi5ARZ2IiIiIC1BRJyIiIuICVNSJiIiIuAAVdSIiIiIu4P8B2A/UOfVK1SsAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 4 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "True function: y = 1.5*x + 2.73\n",
      "Learnt function: y_pred = 1.5005905628204346*x + 2.747830629348755\n",
      "Model has more or less converged to true underlying function\n"
     ]
    }
   ],
   "source": [
    "# We will create the observations (training dataset)\n",
    "# like before.\n",
    "torch.manual_seed(42)\n",
    "N = 100\n",
    "\n",
    "# Generate random x values\n",
    "x = 10 * torch.randn(N)\n",
    "\n",
    "# compute true function output\n",
    "y = 1.5 * x + 2.73\n",
    "\n",
    "# Add some random noise to generate observed y values\n",
    "y_obs = y + (0.5 * torch.randn(N))\n",
    "\n",
    "# Plot the true function and the data points.\n",
    "# True y values (magenta) will fall on a straight line.\n",
    "# The noise-added observed values (green points)\n",
    "#  will fall around that straight line.\n",
    "plt.scatter(x.data, y_obs.data, color=\"green\")\n",
    "draw_line(1.5, 2.73)\n",
    "plt.title('True function + data points')\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('y')\n",
    "plt.legend(loc='upper left')\n",
    "plt.show()\n",
    "\n",
    "# Model this function using y_pred = wx + b\n",
    "w = torch.randn(1, requires_grad=True)\n",
    "b = torch.randn(1, requires_grad=True)\n",
    "\n",
    "params = [b, w]\n",
    "num_steps = 1000\n",
    "learning_rate = 1e-2\n",
    "\n",
    "plt.figure()\n",
    "\n",
    "# Train model iteratively\n",
    "i = 1\n",
    "plot_steps = [0, 50, 100, 999]\n",
    "for step in range(num_steps):\n",
    "    # linear model.\n",
    "    y_pred = params[0] + params[1] * x\n",
    "    \n",
    "    # Periodically plot the true function and\n",
    "    # current approximation to check how we are doing\n",
    "    if step in plot_steps:\n",
    "        draw_subplot(i, step, draw_line, \n",
    "                            {\"m\": 1.5, \"c\": 2.73},\n",
    "                            draw_line, \n",
    "                             {\"m\": params[1].data.numpy()[0],\n",
    "                              \"c\": params[0].data.numpy()[0],\n",
    "                              \"color\":\"green\",\n",
    "                              \"label\": \"y_pred=%0.2fx+%0.2f\"\\\n",
    "                                      %(params[1].data.numpy()[0],\n",
    "                                        params[0].data.numpy()[0])})\n",
    "        i+=1\n",
    "\n",
    "    mean_squared_error = torch.mean((y_pred -\n",
    "                                     y_obs) ** 2)\n",
    "    \n",
    "    # Back propogate. Computes the partial derivative\n",
    "    # of error with respect to each variable and stores it\n",
    "    # within the grad field of the variable.\n",
    "    mean_squared_error.backward()\n",
    "    \n",
    "    # Print some diagnostic values every 100th iteration\n",
    "    if step % 100 == 0:\n",
    "        print(\"Step {}: w = {} b = {} \\nMSE Error = {}\"\\\n",
    "              .format(step, params[1].data, params[0].data\n",
    "                      , mean_squared_error))\n",
    "        print(\"Gradient of w: {} \\nGradient of b: {}\"\\\n",
    "              .format(params[1].grad, params[0].grad))\n",
    "        \n",
    "    # Crucial step, adjust the parameters (weights and bias)\n",
    "    # using the gradients (partial derivatives) computed during\n",
    "    # the call to backward() above\n",
    "    update_parameters(params, learning_rate)\n",
    "\n",
    "    \n",
    "plt.tight_layout()\n",
    "plt.show()\n",
    "\n",
    "print(\"True function: y = 1.5*x + 2.73\")\n",
    "print(\"Learnt function: y_pred = {}*x + {}\"\\\n",
    "      .format(params[1].data.numpy()[0],\n",
    "              params[0].data.numpy()[0]))\n",
    "print(\"Model has more or less converged to \"\n",
    "      \"true underlying function\")   "
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
